Apparatus and method for defining coupled systems on spatial dimensions and extra dimensions

ABSTRACT

A simulation apparatus for adding extra geometries to a model of a physical system. The apparatus is configured to modify a geometry of a model of a physical system represented in terms of a combined set of equations. Instructions on the apparatus cause one or more processors to perform, upon execution, acts comprising: (i) receiving a base geometry of the physical system, (ii) receiving one or more extra geometries associated with the base geometry, (iii) determining first geometric entities of the base geometry and second geometric entities of the extra geometry, (iv) adding the extra geometries to the base geometry by computing a product geometry of the determined first geometric entities and the second geometric entities, (v) generating an updated combined set of equations including representations of the product geometry, and (vi) generating a graphical representation of the product geometry, the graphical representation configured for display on the display device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and the benefits of U.S. Provisional Application No. 61/760,504, filed on Feb. 4, 2013, the disclosure of which is hereby incorporated by reference herein in its entirety.

FIELD OF THE INVENTION

The present invention relates generally to methods and apparatus for modeling and simulation, and more particularly, to techniques for modeling and simulation on a computer system that include defining physical systems on spatial dimensions and extra dimensions.

BACKGROUND

Computer design systems are used to develop product designs and may include graphical user interfaces. Computer design systems can be complemented with packages analyzing a single aspect of a design, such as, structural analysis in conjunction with computer-aided design systems. It would be desirable to have design systems that can operate in more complex environments.

SUMMARY OF THE INVENTION

According to one aspect of the present disclosure, a simulation method executed in a computer system with one or more processors is configured to modify a geometry of a model of a physical system including physical quantities represented in terms of a combined set of equations. The simulation method comprises the acts of defining geometry data representing a geometry of a physical system represented by a first combined set of equations. The geometry data is associated with a first model of the physical system. Extra geometry data representing one or more extra geometries for a modified model based on the first model is defined, via one or more processors. A first set of geometric entity data representing one or more geometric entities of the geometry of the physical system from which to extend the one or more extra geometries is determined via at least one of the one or more processors. At least a portion of the extra geometry data representing at least one of the one or more extra geometries is added, via at least one of said one or more processors, to at least a portion of the determined first set of geometric entity data representing one or more geometric entities by forming product geometry data representing a product geometry for the modified model. The extra geometry data representing the one or more extra geometries is at least a part of the product geometry data. Non-discretized equation data representing a non-discretized second combined set of equations for at least a portion of the product geometry data is generated via at least one of the one or more processors. Optionally a graphical representation of at least a portion of the product geometry data is generated. The graphical representation is configured for display on a graphical user interface.

According to another aspect of the present disclosure, a simulation system for adding extra geometries to a base geometry of a model of a physical system represented in terms of differential equation comprises one or more physical memory devices, one or more display devices, one or more input devices, and one or more processors configured to executed instructions stored on at least one of the one or more physical memory devices. The instructions cause at least one of the one or more processors to perform steps comprising defining base geometry data representing a base geometry of a physical system. The base geometry data is associated with a first model of the physical system, which is represented by a combined set of differential equations. Extra geometry data is defined representing one or more extra geometries for a modified model based on the first model. A first set of geometric entity data is determined representing one or more entities of the base geometry from which to extend the one or more extra geometries. At least a portion of the extra geometry data representing at least one of the one or more extra geometries is added to the determined first set of geometric entity data representing one or more entities of the base geometry by generating product data representing a product geometry for the modified model. The extra geometry data is at least a part of the product data. Equation data is generated representing an updated combined set of differential equations for the modified model that includes at least a portion the product data. The equation data and the product data is stored in at least one of the one or more physical memory devices.

According to yet another aspect of the present disclosure, a simulation apparatus for adding extra geometries to a model of a physical system. The apparatus includes a physical computing system comprising one or more processors, one or more user input devices, a display device, and one or more memory devices. At least one of the one or more memory devices includes executable instructions for modifying a geometry of a model of a physical system represented in terms of a combined set of equations. The executable instructions cause at least one of the one or more processors to perform, upon execution acts comprising receiving a base geometry of the physical system in response to one or more first inputs received via the one or more user input devices. The base geometry is associated with a model of the physical system which is represented in terms of a combined set of equations. One or more second inputs are received via at least one of the one or more user input devices. The second inputs define one or more extra geometries associated with the base geometry. One or more first geometric entities of the base geometry and one or more second geometric entities of the extra geometry are determined. At least one of the one or more extra geometries are added to the base geometry by computing a product geometry of the determined one or more first geometric entities and the one or more second geometric entities. The one or more extra geometries are at least a part of the product geometry. An updated combined set of equations is generated including representations of at least a portion of the product geometry. A graphical representation is generated of at least a portion of the product geometry. The graphical representation is configured for display on the display device.

According to further aspects of the present disclosure, one or more non-transitory computer readable media are encoded with instructions, which when executed by one or more processors associated with a design system, a simulation system, or a modeling system, causes at least one or the one or more processors to perform the above methods.

Additional aspects of the present disclosure will be apparent to those of ordinary skill in the art in view of the detailed description of various embodiments, which is made with reference to the drawings, a brief description of which is provided below.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of the present disclosure will become more apparent from the following detailed description of exemplary embodiments thereof taken in conjunction with the accompanying drawings in which:

FIGS. 1A-1E illustrate an exemplary flowchart and wizard for the creation of a base model, according to some aspects of the present disclosure.

FIG. 2 illustrates an exemplary a table of terms for geometric entities in different space dimensions, according to some aspects of the present disclosure.

FIGS. 3A-3B illustrates exemplary menus for adding a physics interface and study to a base model, according to some aspects of the present disclosure.

FIGS. 4A-4C illustrate an exemplary a flowchart and wizard for the creation of an extra dimension, according to some aspects of the present disclosure.

FIGS. 5A-5C illustrate exemplary menus for features related to an extra dimension, according to some aspects of the present disclosure.

FIGS. 6A-6B illustrate exemplary menus, tools, and graphical representations for creating extra geometries, according to some aspects of the present disclosure.

FIG. 7 illustrates an exemplary a flowchart for creating a product geometry, according to some aspects of the present disclosure.

FIGS. 8A-8D illustrate exemplary menus, tools, and graphical representations for selections of base geometry entities and extra geometries, according to some aspects of the present disclosure.

FIG. 9 illustrates an exemplary a flowchart for creating a product of selections, according to some aspects of the present disclosure.

FIGS. 10A-10E illustrate exemplary menus and graphical representations for the product of selections tool, according to some aspects of the present disclosure.

FIG. 11 illustrates an exemplary settings window for defining variables for products of selections, according to some aspects of the present disclosure.

FIGS. 12A-12B illustrate exemplary menus and a settings window for defining an operation on a product of selections, according to some aspects of the present disclosure.

FIG. 13A-13C illustrate exemplary menus and a settings window for defining material properties on a product of selections, according to some aspects of the present disclosure.

FIGS. 14A-14B illustrate exemplary materials selection tools for layered structures, according to some aspects of the present disclosure.

FIGS. 15A-15C illustrate exemplary menus and a settings window for adding weak contributions to a product of selections, according to some aspects of the present disclosure.

FIGS. 16A-16B illustrate exemplary menus and a settings window for adding a weak constraint to a product of selections, according to some aspects of the present disclosure.

FIGS. 17A-17B illustrate an exemplary menus and a settings window for adding a pointwise constraint to a product of selections, according to some aspects of the present disclosure.

FIGS. 18A-18B illustrate an exemplary menus and a settings window for adding an auxiliary dependent variable to a product of selections, according to some aspects of the present disclosure.

FIG. 19 illustrates an exemplary menus and a settings window for defining a mesh on a product of selections, according to some aspects of the present disclosure.

FIG. 20 illustrates exemplary equations and parameters describing modeled reactions, according to some aspects of the present disclosure.

FIG. 21 illustrates exemplary equations describing physical properties of species in the bulk of a modeled reactor, according to some aspects of the present disclosure.

FIG. 22 illustrates an exemplary equations describing physical properties of species in the porous particles of a modeled reactor, according to some aspects of the present disclosure.

FIGS. 23A-23C illustrate exemplary menus and settings windows for creating geometries describing a bulk reactor as a base geometry and particles as an extra geometry, according to some aspects of the present disclosure.

FIGS. 24A-24B illustrate exemplary settings windows for defining parameters and variables in a physics interface for modeling a reactor including porous particles described as an extra geometry, according to some aspects of the present disclosure.

FIG. 25-29 illustrate exemplary settings windows for a bulk reactor and in porous particles included in the reactor, according to some aspect of the present disclosure.

FIG. 30 illustrates an exemplary a plot of concentrations along the reactor length of a modeled reactor, according to some aspect of the present disclosure.

FIG. 31 illustrates exemplary expressions describing absorption and scattering of radiation in a participating media, according to some aspect of the present disclosure.

FIG. 32 illustrates an exemplary computer system, according to some aspect of the present disclosure.

FIG. 33 illustrates exemplary systems that may reside and be executed in one of the hosts of FIG. 32, according to some aspect of the present disclosure.

While the present disclosure is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.

DETAILED DESCRIPTION

While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail preferred aspects of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the aspects illustrated. For purposes of the present detailed description, the singular includes the plural and vice versa (unless specifically disclaimed); the words “and” and “or” shall be both conjunctive and disjunctive; the word “all” means “any and all”; the word “any” means “any and all”; and the word “including” means “including without limitation.”

Exemplary methods, systems, and apparatus for constructing geometries for models of physical systems, and forming product geometries between base geometries and extra geometries are described. The contemplated geometries can be of various dimensions and the forming or computing of a product geometry includes Cartesian products. Further exemplary aspects of the present disclosure contemplate defining physical properties, physical quantities, parameters, variables, and boundary conditions on such products, or portions thereof, that are further applied to describe a model of a physical system as a combined system of equations. In additional exemplary aspects of the present disclosure, the model is discretized and provided as a system of equations to an equation solver that solves the system of equations and provides a useful solution to an operator of a modeling or simulation system.

The exemplary aspects described herein can be particularly useful and provide a computational advantage for methods, systems, and apparatus for modeling and simulation of physical systems. Physics interfaces for modeling and simulation systems, such as physics and multiphysics modeling systems, include systems that provide for specific dimensionalities of geometries for the physical systems being modeled. Typical dimensions of geometr(ies) for a physical system that is being modeled include dimensions between zero and three. Some physics interfaces include systems for modeling on geometries of specific dimensions. For example, shell physics interfaces include systems for modeling surfaces embedded in three dimensions, or beam physics interfaces include systems for modeling line segments embedded in three-dimensions. Additionally, some physical systems that are the subject of modeling are described by a phase space that includes a higher dimensionality than three. For example, in describing spatial and velocity distributions of a gas, three dimensions can be applied for describing position and three dimensions for describing the velocity. It is contemplated that modeling such a system can include describing or defining the velocity as a field with values in each position with each value of the field representing a velocity density in that respective position.

It is contemplated that it would be desirable for a modeling system to represent or define geometries of physical systems as base geometries and to also be able to define one or more extra geometr(ies). For example, in some aspects, it can be desirable for a model of the spatial and velocity distribution of gas to include representing the spatial distribution as a three-dimensional geometry, also referred to as a base geometry, and to represent the velocity distribution as another three-dimensional geometry called an extra geometry. The phase space can then represented by a Cartesian product or product geometry of at least some of the geometric entities of the base geometry and some or all of the geometric entities of the extra geometry. Geometric entities can be understood as being at least a part or portion of a specific dimension of the geometry for a model.

A Cartesian product or product geometry is exemplified as an operation that can be implemented between two sets of data, in this case geometry data, by forming all possible combinations of objects, or geometric entities, in one set of data with objects, or other geometric entities, in the other set of data. For example, assuming a first set of data is represented by Y={1, 2, 3} and a second set of data is represented by Z={a, b, c}, the following outcome is an exemplary product geometry of the two exemplary sets of data:

-   -   Y×Z={(1, a), (1, b), (1, c), (2, a), (2, b), (2, c), (3, a), (3,         b), (3, c)}.

A formation of a product geometry between multiple sets of geometry data that represent physical systems of a model can be observed in different ways. For example, in some aspects, on a set of non-discretized geometries or geometric entities, a product geometry can be formed that includes all tuples of such non-discretized geometries or geometric entities. When implemented on a modeling system, such a product geometry can create either tuples of identifiers or some sort of indexes for the geometries or geometric entities or pointers to such identifiers or indexes. It is also contemplated in some aspects that a Cartesian product can be expressed in setting the start and end conditions for several nested loops or similar algorithm operations for creating such tuples.

In some aspects of a multiphysics modeling system, including modeling systems identified elsewhere herein, systems of coupled partial differential equations (“PDEs”) may be discretized using finite elements in a base geometry and in the geometry in the extra dimension, which are associated with model(s) of a physical system. A Cartesian product of two sets of discretized geometries can include all tuples of the mesh element points that can be created between the two sets. It is contemplated that in some aspects a form of linking or concatenation can then be completed on the tuples. For example, if one tuple created from two exemplary two-dimensional geometries, such as ((1, 2), (5, 6)), includes two ordered coordinate pairs, the tuple can be modified into (1, 2, 5, 6) which would be understood to be a geometric coordinate or data point in a four-dimensional coordinate space.

It is also contemplate that on tuples of mesh element points, degrees of freedom (“DOF”) can also be defined for dependent variables. Furthermore, in some aspects, shape functions can be defined on each geometry where discretization is performed. For each tuple, shape functions can form an expression that may be product. It is then contemplated that the discretized system may be solved on the product geometry between the base geometry and the one or more extra geometries.

Methods and system for setting up and solving models, such as multiphysics models based on coupled systems of PDEs, along with other modeling systems are described in U.S. Pat. No. 8,219,373, issued Jul. 10, 2012; U.S. Pat. No. 7,623,991, issued Nov. 24, 2009; U.S. Pat. No. 7,519,518, issued Apr. 14, 2009; U.S. Pat. No. 7,596,474, issued Sep. 29, 2009; and U.S. Patent Application Publication No. 2012/0179426, published Jul. 12, 2012. Ser. No. 13/184,207, filed Jul. 15, 2011, each of which are hereby incorporated by reference herein in their entireties. These published patent documents describe, for example, method for setting up and executing multiphysics simulations, including several coupled physical phenomena, by receiving inputs in the form of physical properties that may be expressed in terms of physical quantities. In addition, the above-referenced U.S. patents and patent application disclose methods for setting up problems using physical properties, physical quantities, and physical phenomena described using partial differential equations (PDEs). These published patent documents provide for methods and systems for setting up and solve multiphysics problems using predefined application modes that are otherwise referred to in the present descriptions as physics interfaces. Components of the physics interfaces can include parameters, variables, physical properties, physical quantities, boundary and initial conditions, and solvers with settings and menus. These settings and menus may be tailored for the specific physics instead of using the generic mathematical settings. In addition, these published patent disclosures also describe methods for PDE modes, also referred to as PDE interfaces, in the cases where predefined physics interfaces are not available. The use of the generic PDE modes and PDE interfaces for setting up multiphysics problems requires knowledge about the description of physical properties, physical quantities, and physical phenomena in terms of PDEs.

It can further be desirable for modeling methods and system to include processes for defining coupled systems of equations, including coupled systems of differential equations and PDEs, on product geometries. It is further desirable for modeling methods and systems to include processes for solving coupled system of equations on product geometries. It is yet further desirable for modeling systems and methods to include processes for adding additional or extra geometries as Cartesian products to a base geometry of a model of a physical system.

In some aspects of the present disclosure, methods and systems for forming different of product geometries (e.g., a product geometry of all tuples, a product geometry expressed as start and end conditions for creating tuples) are contemplated. In some aspects, a user of the modeling system can extend a physics interface to solve problems on product geometries of arbitrary dimensionality. It is also contemplated that physics interfaces can be provides that build models that are defined on product geometries. For example, in the exemplary gas model discussed above, a user of a modeling system could draw or provide the space in which the gas is contained and the velocity distribution can be predefined as a sphere. Then, in some aspects, a product geometry between the user defined spatial space and the predefined sphere can be formed automatically by the contemplated system and methods of the present disclosure. It is further contemplated that formation of a product geometry, such as in the example of the gas, including determining the predefined sphere and the definition of extra geometries can occur within the modeling system without being displayed on a graphical user interface to the user of the modeling system.

In some aspects of a modeling system, it can be desirable to model thin structures using shells where physical propert(ies) are described as function(s) of physical quantit(ies) along the thickness of the shell. For example, in some aspects of the present disclosure, a method for adding a thickness direction in the form of an extra dimension is contemplated using an extra geometry that is a line segment. The exemplary line segment can be divided into several sub-line segments, and the sub-line segments can include or be defined with different physical properties such as material properties. This aspect can be particularly desirable because it allows physical quantities such as displacements, stresses, and strains to be modeled along the thickness of the shell. The exemplary aspect of thin structure modeling by applying shells and extra geometries is particularly desirable and provides certain computational advantages. For example, shell problems such the one described can also be solved by modeling the shell as a three-dimensional solid. However, the meshing of a shell and adding an extra geometry is a preferable and better way of defining a thin structure than defining it as a full three-dimensional solid, particularly where the dimensions of the structure are several orders of magnitude larger than the thickness of the thin shell. An example of such a thin shell structure may be an airplane fuselage.

Other exemplary physics interfaces where it can be beneficial to model the physical system using product geometries of a base geometry and one or more extra geometries include beams, reactors including porous particles, radiation in a participating media, perfectly matched layers (“PMLs”), and others. For example, for a beam, the data representing a beam cross section is defined as an extra geometry and data representing the beam axis is defined is a base geometry. For a reactor including porous particles, data representing the particles defines an extra geometry and data representing the bulk of the reactor represents the base geometry. For radiation in a participating media, an extra geometry can model the directional dependence and any wavelength dependence while the base geometry provides a spatial distribution. For PMLs, data representing boundaries is defined as a base geometry and data representing the PMLs is defined as one or more extra geometries. The PMLs are added to the boundaries by forming product geometry data representing a product geometry between the base geometry and the one or more extra geometries. It is further contemplated that for the PMLs, a scaling operation can also be defined on the product geometry.

It is contemplated that in some aspects equations, variables, operators, materials, boundary conditions etc. can be defined on a portion of a product geometry, which may also be referred to as a product of selections. In some aspects, such portions of a product geometry can be constructed, formed, or computed as Cartesian products between some of the geometric entities forming a product geometry in a base geometry, and some of the geometric entities in extra dimensions forming a product geometry. Some aspects of the present disclosure include a method for making such selections by selecting base geometry entities and extra geometry entities in a graphical user interface.

It is further contemplated that in some aspects various properties can be defined on product geometries or parts thereof by defining the desired properties on entities of an extra geometry. The properties defined on the entities of the extra geometry can then be applied to a Cartesian product of base geometry entities and the extra geometry entities. For example, a thickness direction of a multi-layer shell can be described or defined as an ordered set of layers where each layer includes material properties and a thickness. From such an ordered set of layers, a line segment can be constructed or provided automatically with several sub-line segments with each segment representing an extra geometry entity, which can include material properties being defined upon it. The line segment is the extra geometry of an extra dimension and can automatically form a product geometry with user-defined or pre-selected base geometry entities in the form of a shell. The material properties and certain other properties defined on the extra geometry entities can then applied to the portions of the product geometry, of which the extra geometries entities are a part of.

It is contemplated that the simulation methods for modifying a geometry of a model of a physical system can be executed as a standalone system that interfaces or connects with an engineering analysis system, such as a multiphysics modeling system. It is also contemplated that the simulation method for modifying a geometry can be one of a plurality of modules or routines that comprise an engineering analysis system. The simulation methods and systems can include or be connected with a user interface, such as a graphical user interface, that seeks inputs and displays instructions to a user. The simulation methods for modifying a geometry of a model of a physical system can be executed on one or more processors associated with various computer systems described elsewhere herein including, among other things, the computer systems and apparatus described for the multiphysics modeling system.

It is contemplated that is would desirable for the simulation method to be available in, or accessible to, an engineering analysis system, such as a multiphysics modeling system, as part of generating a model described in a model object (e.g., a model data structure including data fields and methods along with their interactions) in accordance with an object-oriented programming language (e.g., C++, C#, Java®).

In certain aspects of the present disclosure, a system or simulation method for generating a modified geometry of a model of a physical systems is contemplated that may be based, at least in part, on PDE formulations. The modified geometry may be generated using inputs received via a dedicated graphical user interface. The modified geometry is contemplated to be useful for engineering analysis processes operating on computer system(s) that include modules or routines for performing finite element analysis methods, finite volume methods, computational fluid dynamic methods, multiphysics methods, and the like. Computer systems embodying the engineering analysis processes may be configured with one or more graphical user interfaces that allow a system user to input and execute simulations. The computer systems may include some of the non-limiting exemplary routines or methods described above and can further include different interfaces for different types of simulations. Different user interfaces may, for example, be provided for fluid flow, heat transfer, electromagnetic, and/or structural mechanics simulations. Simulations and associated interfaces for other engineering or physics phenomena are also contemplated for computer-aided engineering analysis systems.

Systems having a dedicated graphical user interface for modifying a geometry of a model of a physical system are contemplated in certain aspects of the present disclosure. For example, a computer system may include a graphical user interface for defining the parameters, variables, physical properties, physical quantities, and/or physics interface features for a desired physics phenomena associated with a desired analysis or simulation. It is contemplated that the various routines or methods associated with the system can be executed locally on, and/or remotely through network connection(s) to, one or more processing unit(s) executing engineering analysis or simulation systems.

One exemplary aspect of a an engineering analysis method operating on a computer system that is contemplated by the present disclosure includes routines for setting up and solving multiphysics problems for simulations that may have several coupled physical phenomena. Input(s) for the analysis method(s) can be received in a form representative of physical properties that are further expressed in terms including physical quantities. The engineering analysis methods can also include routines for setting up problems using physical properties, physical quantities, and physical phenomena described using PDEs. It is contemplated that the setting up and solving of a multiphysics problem using the exemplary engineering analysis method can be accomplished via predefined physics interfaces. In addition, the setting up and solving of multiphysics problems may also be accomplished using PDE interfaces, which may also be referred to as PDE modes in situations where predefined physics interfaces are not available. It is contemplated that the use of the generic PDE interfaces for setting up a multiphysics problem can be accomplished by describing the physical properties, physical quantities, and physical phenomena in terms of PDEs.

Computer systems may be used for performing the different tasks described in the present disclosure. One aspect for using a computer system includes executing one or more computer programs, including engineering analysis components and methods, stored on computer readable media (e.g., temporary or fixed memory, magnetic storage, optical storage, electronic storage, flash memory, other storage media). A computer program may include instructions which, when executed by a processor, perform one or more tasks. In certain embodiments, a computer system executes machine instructions, as may be generated, for example, in connection with translation of source code to machine executable code, to perform modeling and simulation, and/or problem solving tasks. One technique, which may be used to model and simulate physical phenomena or physical processes, is to represent various physical properties and quantities, of the physical phenomena or physical processes being modeled and simulated, in terms of variables and equations or in other quantifiable forms that may be processed by a computer system. In turn, these equations or other quantifiable forms may be solved by a computer system configured to solve for one or more variables associated with the equation, or the computer may be configured to solve a problem using other received input parameters.

It is contemplated that computer programs for modeling and simulating physical phenomena or physical processes may provide many advantages particularly as the complexity of the physical phenomena or physical processes being modeled and simulated increases. For example, in certain aspects a user can combine one or more physical phenomena into a multiphysics model, as part of, for example, an engineering analysis. To further illustrate this example, a user may combine phenomena described by chemical kinetics and fluid mechanics, electromagnetic phenomena and structural mechanics, or other physics phenomena. Such multiphysics models may also involve multiple physical processes. For example, a process may be combined that includes an amplifier powering an actuator, where both the amplifier and the actuator are a part of one multiphysics model. Multiphysics modeling can also include solving coupled systems of partial differential equations (PDEs).

It may be desirable in certain aspects to model physical quantities of coupled multiple processes using different sets of PDEs, defined for different geometries and/or in different coordinate systems, to represent the different coupled multiple processes. It is contemplated that in certain embodiments, systems of PDEs defined for multiple geometries can be desirable. PDEs can provide an efficient and flexible arrangement for defining various couplings between the PDEs within a single geometry, as well as, between different geometries.

It is contemplated that computer systems on which multiphysics modeling systems operate, such as the modeling systems described herein, can include networked computers or processors. In certain embodiments, processors may be operating directly on the multiphysics modeling system user's computer, and in other embodiments, a processor may be operating remotely. For example, a user may provide various input parameters at one computer or terminal located at a certain location. Those parameters may be processed locally on the one computer or they may be transferred over a local area network or a wide area network, to another processor, located elsewhere on the network that is configured to process the input parameters. The second processor may be associated with a server connected to the Internet (or other network) or the second processor can be several processors connected to the Internet (or other network), each handling select function(s) for developing and solving a problem on the multiphysics modeling system. It is further contemplated that the results of the processing by the one or more processors can then be assembled at yet another server or processor. It is also contemplated that the results may be assembled back at the terminal or computer where the user is situated. The terminal or computer where the user is situated can then display the solution of the multiphysics modeling system to the user via a display (e.g., a transient display) or in hard copy form (e.g., via a printer). It is also contemplated that the solution may be stored in a memory associated with the terminal or computer, or the solution may be stored on another server that the user may access to obtain the solution from the multiphysics modeling system.

Referring now to FIGS. 1A-1E, an exemplary flowchart and wizard for the creation of a base model is illustrated according to some aspects of the present disclosure. In FIG. 1A, an exemplary flowchart is illustrated for a process for creating or forming a base model. It is contemplated that a base model generally does not include a base geometry until such base geometry is created, imported, or retrieved. The steps in the flow chart may be implemented, for example, in a multiphysics or other type of physics simulation system. At least a portion of each of the steps can be implemented in the form of graphical user interfaces (“GUIs”) displayed by the system to the user of the modeling system.

A base model is a model including one or more physics interfaces. The exemplary system for creating the base model in FIG. 1 includes options for selecting dimensions that include 0-D, 1-D, 1-D axisymmetric, 2-D, 2-D axisymmetric, or 3-D. The base model can include geometries, also referred to as base geometries. In some aspects, base geometr(ies) can be constructed or determined from geometric primitives and operations, by importing a file or by interfacing the modeling system with computer-aided design (“CAD”) system or by otherwise receiving or inputting the geometry into the modeling system. The geometry can include a collection of geometric entities and the entities can be connected manifolds, such as volumes, surfaces, curves, or vertexes, that are also referred to as points. A summary of exemplary modeling terms applied to some geometric entities is included in FIG. 2 where a modeling term can depend in some situations on the dimensions of the geometry.

Referring back to FIG. 1A, at step 101, the process for creating the base model is commenced and this can be done via the exemplary aspect illustrated in FIG. 1B of selecting the “New” icon 101 a in dropdown menu presented in a GUI. Next, in step 102, the dimension of a base model is specified or determined. One exemplary aspect of specifying the dimension is illustrated in FIG. 1C where a system user can select the base model dimension from a list of options displayed in a GUI. In this example, a 3D icon or button 102 a is selected, though any one of several options are available. Next, at step 103, an exemplary interface with a menu of physics interface options is displayed to a user, as illustrated in FIG. 1D. Selections of one or more physics interfaces can be received by the modeling system and applied to the base model. For example, the user can select from one or more physics interfaces included in a physics interface lists 103 a in a wizard. A desired physics interface can then be added to a base model by selecting the interface listing itself or a corresponding icon 103 b. An added physics interface can also be removed by selecting a previously added physics interface and selecting a “remove” icon 103 c. In the exemplary aspect of FIG. 1D, the user has selected shell and beam physics, though any of the listed physics or others can be selected. As discussed here and elsewhere in this disclosure, it is contemplated that the physics interfaces can include operations for defining variables, parameters, expressions, initial values, shape functions, solvers, and settings for a base model. For example, the physics interfaces can include expressions in the form of user editable partial differential equations (PDEs) expressing physical quantities and physical properties. The variables, parameters, expressions, initial values, shape functions, solvers, and settings can further include identifiers that may be assigned automatically and be unique to the particular modeling system. It is contemplated that the variables, parameters, expressions, initial values, shape functions, solvers, and settings can be accessible to and changed by the user.

Next, at step 104, a selection can be received for a study type to be implemented for a simulation including the base model. For example, an exemplary study type list 104 a can be displayed to a user from which a study type can be selected, as illustrated in FIG. 1E. A study type can define a sequence of study steps including stationary, eigenvalue, eigenfrequency, or time dependent study step sequences, along with others. In one exemplary aspect, a study can include implementing a stationary study step that can then be used to compute the initial conditions for a subsequent time-dependents study step.

Finally, at step 105, the exemplary process of creating a base model can be finalized by selecting a “Finish” icon 105 a or through some other trigger. A created or form base model can include a set of predefined variables, parameters, physical properties, physical quantities, boundary conditions, initial conditions, and solvers that are determined according to user selections in the previous steps of the base model creation process. It is contemplated that a final base model can be displayed and otherwise accessed via additional interfaces displayed by the modeling system. To the extent a user would to edit the base model, in some aspects it is contemplated that a user may go back or proceed to the next step in the process by selecting the “back” icon 103 d or “forward” icon 103 e or finish the process by selecting the “finish” icon 105 a. It is also contemplated that a user can omit making selections in steps 103 and 104 by making similar selections; in some aspects this can be done using the same or similar icons (e.g., 103 d, 103 e, 105 a). Furthermore, the process can proceed immediately to step 105 at any time by selecting the “finish” icon 105 a, bypassing any intermediate steps.

Referring now to FIGS. 3A-3B, exemplary GUIs 310, 320 with menus are illustrated for adding a physics interface and study to a base model, according to some aspects of the present disclosure. In some aspects, if the user omitted to make selections of physics interfaces or study type in method steps 103 or 104, or wants to make additional choices, the user may add additional physics interfaces or study types to a base model. The user may do so by selecting the base model node 300 a and further selecting an “add physics” icon 300 b from a subsequent menu. The process can then proceed to the exemplary physics interface list 103 a in FIG. 1D. Similarly, a user may add a study by selecting a root node 300 c in FIG. 3B from a the model builder window and further selecting an “add study” icon 300 d, also from a subsequent menu, and then the process can proceed to the exemplary study list 104 a in FIG. 1E.

Referring now to FIGS. 4A-4C, an exemplary flowchart and wizard for adding one or more extra dimension to a base model is illustrated, according to some aspects of the present disclosure. It is contemplated that extra dimensions may be added as child features to a base model. The child features can be described in 0-D, 1-D, 1-D axisymmetric, 2-D, 2-D axisymmetric or 3-D. It is contemplated that an extra dimension feature can further include an extra geometry, where settings for physical quantities and physical properties can be defined.

In some aspects of the disclosed simulation systems and methods for modifying a base geometry or otherwise adding extra dimensions, physics interfaces of a modeling system can include instructions or operations for automatically defining extra dimension features. For example, the modeling system can include predefined variables, parameters, physical properties, physical quantities, boundary conditions, and initial conditions for a set of extra dimensions. Solvers may also be adapted or configured for solving models that include base geometries or base model with extra dimensions added thereto.

In some aspects of a modeling system, extra dimension features can be added manually to a base model, such as where an extra dimension feature is not predefined in a physics interface. In these situations, variables, parameters, physical properties, physical quantities, boundary conditions, initial conditions, and solvers are defined manually in the extra dimensions.

In FIG. 4A, steps 401 through 405 are similar to the process described in FIGS. 1A-1E for forming or creating a base model that includes a base geometry. Then, at step 406, an extra dimension feature is added to the base model. In one exemplary aspect of step 406, GUI(s) such as the one(s) illustrated in FIGS. 4B and 4C are displayed to a user of the modeling system that allow selection(s) to be received first of the base model node 406 a and then of an “Add extra dimensions” icon 406 b that may be displayed in a context menu or otherwise. The user can then be provided the option to select a button 406 c or icon associated with the dimension (e.g., 1-D, 1-D axisymmetric, 2-D, 2-D axisymmetric, 3-D) of the extra dimensions feature. The selection can be made, for example, via a dimension list in a separate window or via the wizard previously described in FIGS. 1A-1E.

It is contemplated that a physics interface in the modeling system can be configured to automatically define settings for the one or more extra dimensions following a user's selection or activation of extra dimensions. In certain aspects, it is also contemplated that a physics interface can be predefined to include extra dimensions by default. The below discussion includes some examples of situations where extra dimensions can be automatically generated.

In some aspects, a GUI can be presented to a user that receives selections for implementing a process to automatically add perfectly matched layers to a base geometry. The process can further automatically define the PMLs following the receipt of a user's selection to add PMLs to a domain.

In some aspects, a GUI can be displayed to a user for selecting a shell physics interface. It is contemplated that the shell physics interface can be configured to generate a predefined extra dimensions feature for describing certain physical quantities and physical properties along the thickness of a shell. Such an extra dimension feature can, for example, be added by a modeling system user to allow for some customization of a model, or the extra dimension feature can be included by default for certain shell interfaces. For example, shell interfaces for thick or nonlinear shells may by default include a 1-D extra dimensions feature for describing physical properties as functions of physical quantities along the thickness of the shell.

In some aspects, a GUI can be displayed to a user for selecting a beam physics interface that includes extra dimension features for describing or defining a cross section of a beam. It is contemplated that the extra dimension features can be activated by the user based on selection, for example, for manually defining cross section(s), or the extra dimension features can be included based on defaults for certain predefined cross sections. For example, an H-beam interface may by default include a 2-D extra dimensions feature that includes a description of the H-cross section of the beam.

It is also contemplated that in some aspects a GUI can be displayed to a user for selecting a physics interface for modeling reactors with porous particles. The interface can include, for example, a predefined 1-D extra dimensions feature for describing transport and reactions along the radius of the particles. The extra dimension feature can be activated by a user or it may be included by default in the physics interface. For example, a physics interface for lithium-ion battery modeling can by default include a predefined 1-D extra dimension feature for describing lithium intercalation in graphite particles.

In some aspects, a GUI can be displayed for selecting a physics interface for modeling heat transfer that includes an extra dimension feature for describing radiation along an independent variable for wavelength. It is contemplated that while an extra dimension in this exemplary aspect may not have a geometric physical meaning it is a useful alternative for modeling heat transfer and radiation effects. Similarly, an extra dimension can be applied in another exemplary aspect to model along a coordinate that represents energy in the Boltzmann equation.

The process of adding selected extra dimensions to a base model, as exemplified above and in the context of the exemplary aspects described herein, can be finalized at step 407 by a user selecting a “finish” icon 407 a in the GUI exemplified in FIG. 4C.

Referring now to FIGS. 5A-5C, exemplary menus are illustrated including extra dimension features that are added as a child feature to a base model, according to some aspects of the present disclosure. As discussed elsewhere, one or more extra dimension features can be attached to a base model. An extra dimension node 500 can include one or more child nodes for defining an extra dimension.

In some aspects, a definitions child node 500 a includes another child node 500 b that is further denoted by “Points to Attach” in the tree illustrated in FIGS. 5A and 5B. The child node 500 b can be used to identify one or more vertices in an extra geometry that are connected to entities in a base geometry in the base model. This may assist in identifying physical quantities and physical properties in a product geometry with the corresponding physical quantities and physical properties in a base geometry. For instance, in an exemplary aspect of a base geometry including a 2-D geometry forming a 3-D product geometry with a 1-D extra geometry in an extra dimensions feature, the point of attachment can be used identify a vertex in the product geometry which shares the value of physical quantities and physical properties with the base geometry.

A definitions context menu may be displayed by selecting the definitions node 500 a and include different settings 500 c for view, selections, extra dimension integration, variables, and coordinate system. Additional child nodes may be added to the definitions node by selecting one or more of the settings 500 c. It is contemplated that a user can define viewing setting such as light settings, grids and geometry labels using additional settings available under the “View” setting. Selections can be applied to create specific selections of geometric entities, which may be customized by a user. Extra dimension integration can be used to integrate over geometries including extra dimensions. Variables can include symbolic expressions that may be defined on the extra dimension, though variables defined on a product geometry may be defined using a variables node in the base geometry. Coordinate systems listed in the context menu can include settings describing the coordinate system of the extra dimension.

In some aspects, a geometry child node 500 d can include information about extra geometries created in an extra dimensions feature. Furthermore, a mesh child node 500 e can include information about meshes on extra geometries. FIG. 5C illustrates an exemplary settings window 500 f for the extra dimension feature, which can be accessed through user selections, such as a “Settings” icon 500 g. A settings window 500 f can include a user editable extra dimension identifier 500 h which can be automatically set by the system to a unique identifier. Furthermore, a settings window 500 f can also include user editable names 500 i of spatial coordinates that are applied in the extra dimension, where the unique names may be automatically assigned by the system. It is also contemplated that a geometry shape order 500 j can be selected or set to an automatic setting in the settings window 500 f. The geometry shape order sets the order of curved mesh elements that may be used to describe an extra geometry using finite elements.

Referring now to FIGS. 6A-6B, exemplary menus, tools, and graphical representations are illustrated for creating extra geometries, according to some aspects of the present disclosure. A GUI 600 is illustrated in FIG. 6A that can, for example, be accessed or displayed in response to a user selecting the geometry child node 500 d from FIG. 5A. As a preliminary matter, a base geometry can be created or can be otherwise available in a geometry node 610. Selecting the geometry node 610 can confirm the presence of a predetermined base geometry or allow the creation of the base geometry. The base geometry can be created similar to the creation of extra geometries, which are now described. An extra geometry can be constructed from geometric primitives 600 a and operations 600 b, exemplary aspects of which are included in FIG. 6A. The available geometry primitives may be dependent on the dimension of the extra dimensions feature. The geometric primitives and operations can be child nodes of the geometry node(s). A user can define the geometric primitives by selecting them, which may open a separate settings window 600 c, such as the exemplary window illustrated in FIG. 6B, that allow for data to be received via specific fields displayed in the settings window, and in some aspects, be displayed graphically (see exemplary element 6000. It is also contemplated that in some aspects, the base geometry and extra geometry data can be imported 600 d or received as file data stored in a memory device or by linking 600 e to a CAD system.

As previously described above, in some aspects where a physics interface automatically defines extra dimensions features, the shape of an extra geometry may be predefined. For example, when adding a PML feature to a radio frequency model, adding a thickness to a shell in a shell model, or adding a porous particle catalytic bed to a reacting flow model, extra geometries in the form of line segments can be generated automatically by the respective physics interfaces. Some further examples include physics interfaces for modeling heat transfer by radiation in 3-D, or Boltzmann equations in 3-D, that generate spheres or surfaces of spheres as extra geometries. For some aspects, a user can also define some characteristics of the predefined shapes in a GUI, such as the thickness of a shell in the shell model example.

It is contemplated that base dimensions and extra dimensions include identifiers. In addition, geometries and geometric entities also include identifiers. Such identifiers can be used to make lists, code, and data-structures specifying sets of base geometry entities that may form a Cartesian product with sets of such identifiers of geometric entities in extra geometries. Such Cartesian products are product geometries for non-discretized geometries. Product geometries for non-discretized geometries can be used to form or construct Cartesian products of discretized geometries. For discretized base geometries and discretized extra geometries, a product geometry is the Cartesian product of the set of mesh element points of a selection of base geometry entities with the mesh element points of an extra geometry or with a Cartesian product of the sets of mesh element points of two or more extra geometries.

Referring now to FIGS. 7 and 8A-8D, an exemplary flowchart for creating a product geometry is illustrated along with exemplary menus, tools, and graphical representations for selections of base geometry entities and extra geometries are illustrated, according to some aspects of the present disclosure.

In some aspects the process is initiated at step 701 by selecting an option to attach extra dimensions, such as icon 800 a illustrated in FIG. 8A. At step 702, a selection or determination of base geometry entities is made. This step can be implemented through a first selection of a geometry entity level, through for example a displayed list of options 800 b (e.g., domain, boundary, edge, point) or selectable icons 800 c, as illustrated in FIGS. 8B and 8C. Then, base geometry entities of the selected geometric entity level can be displayed in a list 800 d or can be displayed as a graphical representation of a base geometry entity. It is contemplated that in some aspects while only base geometry entities of the selected geometry entity level may be displayed in step 702, all base geometry entities directly adjacent to the selected entities in the geometry, which are of a lower geometric entity level, can further be automatically selected by the modeling system. For example, in some aspects, for a 3-D geometry, if “domains” is the displayed geometry entity level, and a domain is chosen, all boundaries, edges, and vertexes directly adjacent to the domain are also selected. As another example, for some aspects, if a displayed geometry entity level is “edges” and an edge is selected, only the two entity levels that are the directly adjacent vertexes are automatically selected in addition to the selected edge.

Next, at step 703, a selection of extra geometries is implemented. In some aspects, this step can be implemented by selecting one or more extra dimensions from a list 800 f, such as the one illustrated in FIG. 8D, or from graphical representations of extra geometries, such as exemplary graphical representation in element 800 e in FIG. 8C or the graphical representation in element 600 f illustrated previously in FIG. 6B.

Next at step 704, a determination is made if two or more extra dimensions have been selected in step 703. If the determination is true, a Cartesian product of the two or more extra geometries is automatically constructed or computed in step 705. The Cartesian product of extra geometries can also be referred to as a product of extra geometries. If the determination is false, only one extra dimension has been selected and the method proceeds to step 706.

Next, at step 706, a product geometry is formed or computed as a Cartesian product of the selection made in the step 702 with the selection made in step 703 or with the Cartesian product formed in step 705. In some aspects, the product geometry can be formed by coupling a list, including pointers (or identifiers) to base geometry entities selected in step 702, to a second list, including pointers to the selection of extra geometries made in the third method step 703.

Finally, at step 707, the process for creating a product geometry is completed, and the product geometry from step 706 can be stored or added to a list, code, or data structure.

It is contemplated that in some aspects if extra dimensions features have been generated automatically by a physics interface and extra geometries have been generated, instructions for the process of forming product geometries are predefined. For example, a product geometry between a 3-D geometry describing a shell and a 1-D geometry (e.g., a line) describing a thickness direction can be formed automatically.

In some aspects, it can be desirable to define variables, expressions, operations, and materials on at least a portion of a product geometry. The portions of a product geometry can be referred to as a products of selections. A product of selections is conceptually similar to a product geometry, but there are some differences. A product geometry is formed as a product of geometric entities in a base geometry and geometric entities in extra geometries. A product of selections differs in that it is a Cartesian product of a selected portion of the geometric entities of the base geometry and selected portions of the geometric entities of the extra geometries. A portion of a product geometry formed by a Cartesian product between a set of base geometry entities and a set of extra geometry entities can also be referred to as a product of entities. It is contemplated that a modeling system can be operable to include a process or instructions for creating a product of selections in various physics interfaces and features. It is also contemplated that a product of selection tool can be a feature itself in a physics or multiphysics simulation system.

Referring now to FIGS. 9 and 10A-10E, an exemplary a flowchart for creating a product of selections along with exemplary menus and graphical representations for the product of selections tool are illustrated, according to some aspects of the present disclosure.

At step 901, it is contemplated that base geometry entities are displayed, such as in a list 1000 a as illustrated in FIG. 10A or as a graphical representation of the base geometry, as illustrated by elements 1000 e and 1000 f in FIGS. 10D and 10E. In some aspects, the geometry entity level of the displayed base geometry entities can be selected, and the base geometry entities forming a product geometry can further be highlighted to a user, for instance using a bolder font or a different color.

At step 902, a selection is made from among one or more base geometry entities displayed in the list or in the graphical representations displayed in step 901. Next, at step 903, the extra geometries forming a product geometry with geometric entities in the base geometry are displayed. In some aspects of the present disclosure, the extra geometries can be displayed in a list 1000 b, as illustrated for example in FIG. 10A, along with the products of extra geometries that are also displayed as list items. In some aspects, it is contemplated the extra geometries can also be displayed in graphical representations (e.g., cylinder at 1000 e, sphere at 1000 f).

Next, at step 904, a selection is made from among the extra geometries displayed in step 903. In some aspects, this selection is made via exemplary selections made from a displayed or a graphical representations displayed in a GUI. (see, for example, elements 1000 b, 1000 e, 1000 f in FIGS. 10A, 10D, and 10E). It is contemplated that in some aspects of the process, if a selection of extra geometries is made, such that the Cartesian product between the base geometry entities selected in step 902 and the selected extra geometries includes a product of entities that is not a portion of the product geometry, any base geometry entity that is part of such a product of entities will be automatically removed from the selection in the second method step 902. It is also contemplated in some aspects that the generation of such product entities can generate an error message. In addition, it is contemplated in certain aspects, to only allow selections of extra geometries whose Cartesian product with the selection in step 902 forms at least a portion of the product geometry. It is further contemplated that in some aspect such geometric entities are highlighted (e.g., bolded font, different color), such as on a display so as to be readily visible to a user of the modeling system.

Next, at step 905, extra geometry sections are generated. For example, in the GUI displayed in FIG. 10A, extra geometry sections (e.g., 1000 i) are automatically generated and appended to the GUI based on the extra geometries selected in step 904. In the exemplary sections 1000 i in FIG. 10A, one section is generated for each extra geometry from the selections made in method step 904. For example, if a selection was made in the step 904 of a Cartesian product between two extra geometries, two sections, one for each extra geometry, can be generated. If a single extra geometry was selected in step 904, then in some aspects only one section is generated.

It is contemplated that in some aspects of the process for creating or forming a product of selections, step 905 can include a choice of geometric entity levels that can include several choices, such as an entire (extra) geometry, domains, boundaries, edges, and points. An exemplary aspect of an interface for receiving selections of these choices or options 1000 c is illustrated in FIG. 10B. Furthermore, for at least some of the geometric entity level selections, a second set of selection options can be displayed to a user in step 906. The options can include a “manual” option and another option for (all) domains, (all) boundaries, (all) edges, or (all) points in accordance with the option selected for the geometric entity level. If “manual” is chosen, selection can be received for geometric entity numbers displayed on a list of entities or from a graphical representation thereof (which in some aspects, may be displayed in step 906). An exemplary aspect of an interface for receiving selections of these choices or options 1000 d, 1000 g is illustrated in FIG. 10C. In addition to being displayed as lists of geometric entity numbers or options, such as entire geometry, all domains, all boundaries etc., in step 906, the extra dimension geometric entities may be displayed in a GUI. For example, in exemplary FIG. 10D, one single boundary entity has been shaded for clarity, while three adjacent boundaries are not, to identify the extra dimension geometric entit(ies).

Next, at step 907, extra geometry entities, which may have been displayed in step 906, can be selected using the sections generated in step 905. In some aspects, a user can choose an entire (extra) geometry, as illustrated in FIG. 10B, which would select all domains, boundaries, edges, and points in the context of an exemplary 3-D geometry. For other exemplary geometries, FIG. 2 provides indications of the extent of a result of a select all choice. It is contemplated that in some aspects if a user instead chooses domain, boundary, edge, or point from menu 1000 c, a second choice may be made from a second drop down list 1000 d and the user can select all geometric entities of a specific geometric entity level or a manual option. If a user chooses the manual option, a third choice can be made in another list 1000 g or in a graphical representation of the extra geometry, where specific geometric entities can be selected. It is contemplated that the selection process of step 907 is performed for each section generated in step 905. It is further contemplated that a set of geometric entities is further be selected for each section.

Next, at step 908, a product of selections is formed. In some aspects, the product of selections is formed as a Cartesian product between the set of geometric entities selected from the base geometry in the step 902 and the set of extra geometry entities in step 907. It is contemplated that the product of selections can be formed from a list including pointers (or identifiers) to base geometry entities selected in step 902 and then coupled using a second list including pointers to the selection of extra geometry entities made in step 907.

As discussed above, it is contemplated that is can be desirable to define variables, operations, expressions, and materials on products of selections. These processes are described in more detail below. Defining variables, operations, expressions, and materials on a product of selections can involve including a list defining a product of selections, or a pointer to such a list, in a data structure describing variables, operations, expressions, and materials.

Referring now to FIG. 11, an exemplary settings window for defining variables on a product of selections is illustrated, according to some aspects of the present disclosure. In some aspects, a settings window can be accessed by selecting a definitions node of a base model including a base geometry, forming a product geometry with one or more extra geometries, and selecting variables. Other aspects for accessing a setting window are also contemplated. In some aspects, a variable can be defined by entering a name (e.g., 1100 a) for the variable and an expression (e.g., 1100 b). A product of selections can then be constructed or formed using a product of selections tool exemplified by interface 1100 c. An outcome of the formation of the product of selections can include that a variable with the variable name (e.g., 1100 a) and the expression (e.g., 1100 b) is then automatically defined on the product of selections. Variables can also be defined on extra geometries in a similar fashion by selecting variables in a definitions context menu under an extra dimension feature (e.g., 500 a in FIG. 5A). In some aspects, it is contemplated that variable can be defined on an extra geometry without being defined on a product geometry or a product of selections including base geometry entities. In such cases a variable may be assigned using a variable's child node under the extra dimension node including such an extra geometry.

Referring now to FIGS. 12A-12B, exemplary menus and a settings window for defining an operation on a product of selections are illustrated, according to some aspects of the present disclosure. In some aspects, such as the exemplary settings window and menus of FIGS. 12A-12B, an integration operation is defined on a product of selection. It is contemplated that other operations can be similarly defined, such as for minimum, maximum, and average operations. In some aspects, a settings window can be accessed by selecting a definitions node under a base model and selecting model couplings, and integration (e.g., 1200 a), as exemplified by FIG. 12A. It is contemplated that an operation name, such as the integration name, can be defined by a user (e.g., intop1 at element 1200 b) or be automatically generated by a multiphysics system. The integration on a product of selections can be defined by using a product of selections tool or interface exemplified thereby (e.g., 1200 c). It is further contemplated that the operation name (e.g., integration) can be used in other features such as variables. For instance intop1(u) is the integral over the variable, u, on the product of selection defined using a product of selections tool.

It is further contemplated that in some aspect, a user can integrate in extra geometries. For example, a user can select extra dimension integration from a definitions context menu of an extra dimensions feature. The user can then define an integration operator with a name. The user may define the integration operator on one or more extra geometries or parts thereof by selecting geometric entities in a list or graphical representation of one or more extra geometries. It is also contemplated that the user can define an integration order of the integration operator. One or more such integration operators may be used to form expressions. An example of such an expression is xd3.intop2(u), which may be used to integrate over the variable, u, over some part of extra geometries in extra dimension 3, xd3. intop2 is the name of the integration operator, xd3 signifies that intop2 is the name as defined in extra dimension 3. xd3 may not be necessary if the name intop2 is unique. u may denote a variable representing a physical quantity.

To integrate over a product of extra geometries using strings, it is contemplated that two or more integration operators are used. An example of such an expression is: xd2.intop1(xd3.intop2(u)). Here xd2.intop1 refers to integration in extra geometries or parts thereof in extra dimension 2 and xd.3intop2 refer to integration in extra geometries or parts thereof in extra dimension 3 and u is a variable.

It is contemplated that other operators for finding the average, maximum, or minimum value of a variable may work in a similar fashion using operator names such as avg1, max1 or min1.

Operators for pointwise evaluation of variables are also contemplated in some aspects. These operators can be used in strings in a similar fashion to what is described above with the additional specification of the dimensionality of the entity in which to evaluate. For example, to evaluate the variable u on a boundary (1-D) of a 2-D extra geometry in an extra dimension with an identifier xd3 and global coordinates (0.3, 0.4), the following exemplary string may be used: xd3.atxd1(0.3,0.4,u). Here, xd3 specifies that the operation on u is with respect to the variable named u in xd3. atxd is the name of the operator which evaluates a variable in a point. atxd1 specifies that the evaluation is on a 1-D extra geometric entity (hence the 1 after atxd). 0.3,0.4 gives the coordinate pair and, u, the variable to be evaluated.

In some aspects, to make a pointwise evaluation in a product of extra geometries, more than one atxd operator is used. For example, given the product of extra geometries between a 1-D extra geometry in an extra dimensions xd4 and a 2-D extra geometry xd2, the following string may be used to find the value of u (in the point (0.7,0.9) in xd4 and the point (0.5) in xd2) on the product of entities formed between the boundary of xd2 and the xd4 domain: xd2. atxd1(0.7,0.9,xd4.atxd1(0.5,u)).

Referring now to FIG. 13A-13C, exemplary menus and a settings window for defining material properties on a product of selections are illustrated, according to some aspects of the present disclosure. In some aspects, a settings window (e.g., 1300 a) can be accessed by selecting a materials node (1300 b) and further selecting material (e.g., 1300 c). Once in the settings window, a user can define various material properties (e.g., 1300 d). A product of selections can be constructed using a product of selections tool as exemplified by interface 1300 e. The material properties set in the interface (e.g., 1300 d) can automatically be defined on the product of selections. Alternatively, it is also contemplated that a predefined material can be used on a product of selections by accessing a material browser, selecting a predefined material, selecting the node for the predefined material, accessing a settings window including a product of selections tool, and then defining a material on a product of selections. A selected material can include an identifier, which may be used when defining materials on products of selections in other ways, such other ways are described elsewhere.

It is also contemplated that in some aspects materials and other properties can be defined using a specific tool for defining a material and other properties on geometric entities in extra geometries. For example, when forming products of entities with entities in base geometries, the material and other properties defined on the entities in the extra geometries may be automatically defined on the product of entities. Several such tools may be combined in one feature, where each tool is located in a part of a settings window of the feature. It is also possible that the tools may be separate features. Such tools may be referred to as “materials sections tools”.

Referring now to FIGS. 14A-14B, exemplary materials settings windows are illustrated for defining properties on a geometry that may be an extra geometry forming a product geometry, according to some aspects of the present disclosure. It is contemplated that such a settings window can include different parts for different kinds of materials sections. Examples of such parts include layered structures, pipes, beam cross sections, and inhomogeneous materials.

It is contemplated that layered structures can be used for examples describing multi-layer shells. A multi-layered shell can include several layers in a specific order. Each layer may have certain properties such as material, layer thickness, and in some instance layer orientation. Each layer can be identified by one or more identifiers. Several such layers can form a layer section that may be identified by a user editable identifier. The layered structures materials section can include user editable fields and drop down lists. Exemplary aspects of such fields from FIG. 14A include number of layers 1400 a, layers section identifier 1400 b, layer order 1400 c, layer thickness 1400 d, layer material 1400 e, layer orientation 1400 f, and layer identifiers 1400 g.

It is contemplated that in some aspects the number of layers field a user can define the number of layers that are in a layer section. The number affects the number of fields and drop down list that can be made available. For instance if 3 is typed in the number of layers field the system may automatically create 3 sets of fields and drop down list, each set of fields and drop down lists describing one layer.

It is contemplated that in some aspects the layers section identifier can include a user editable identifier for a set of layers.

It is contemplated that in some aspects the layer order can describe the position of an individual layer among other layers. Such a position may be described by a number, for instance 1, designating a lowest layer, and 2, the layer above the lowest layer etc.

It is contemplated that in some aspects layer thickness can describe the thickness of an individual layer. This may be described as a fraction of a total thickness of all layers, as a physical quantity, or as an expression of physical quantities.

It is contemplated that in some aspects layer material can include a user editable field where a user may identify a material by its unique identifier. It is also contemplated that a user may identify a material in some other way or there may be several sub fields where a user could designate one or more material properties.

It is contemplated that in some aspects layer orientation can include a list with selections such as isotropic, or anisotropic, where a section in a settings window may allow the definition of the orientation of the layer in relation to a coordinate system.

It is contemplated that in some aspects layer identifiers may include the name of a layer or descriptors. A user may add more identifiers as needed. Layer identifiers may be used elsewhere in the software to refer to all layers including such identifiers.

In some aspects, a layered structures materials section can includes a layer number menu where a user can select a layer, as exemplified by element 1400 j in FIG. 14B. An example of such a layered structures materials section is exemplified by element 1400 i. In another part of the layered structures materials section, layer thickness, layer material, layer orientation, and layer identifiers can be specified for the selected layer. In this example, the user defines the layer in a certain position rather than defining layers and their position.

It is further contemplated that an extra geometry can be automatically constructed or formed using information received from the described fields. For example, a line segment can be constructed, where the line segment is divided into several sub-line segments, and each sub-line segment having a length defined by the layer thickness field. The order of the line segments can be defined by the layer order fields and the material.

In some aspects, it is contemplated that an exemplary pipe materials section can include user editable fields and lists. Examples of such fields and lists include pipe shape, surface roughness, layers, and pipe identifiers. Pipe shape can describe the cross section of the pipe. The cross-sections can include predefined shapes such as circular with a user defined radius, square or rectangular with user defined sides, other two-dimensional shapes that may be defined by a set of parameters, user defined cross section with a user defined cross sectional area and wetted perimeter, or a user defined cross-section which may be imported or constructed using geometry tools in a multiphysics modeling system. A drop down list may include the possibility to describe surface roughness of pipes using several common roughness parameters, or the roughness may be defined as a physical quantity.

It is contemplated that layers can be described by lists and user editable fields such as those described for layered structures. It is also possible that a layer can be referred to by an identifier. Pipe identifiers can include the name of a pipe material section or descriptors. A user may add more identifiers if needed. Pipe identifiers may be used elsewhere in the system to refer to all pipes including such identifiers.

In some aspects, beam cross sections are contemplated that can include fields such as cross-sectional area, moment of inertia about local z-axis, distance to shear center in local z direction, moment of inertia about local y-axis, distance to shear center in local y direction, or torsional constant. Bending stress evaluation points can be chosen, for example, from section heights or from specified points using list that depend on which one of the following two sets of fields that may be present. If based on section heights, the list can include, section height in local y-direction, section height in local z direction, torsional section modulus, max shear stress factor in local y direction, and max shear stress in local z direction. If based on specific points, the list can include list of points in cross section, torsional section modulus, max shear stress factor in local y direction, and max shear stress factor in local z direction.

In some aspects, a materials section tool for inhomogeneous materials is contemplated that can include edit fields and lists. Examples of such edit fields and lists include fractions and material for each fraction. The materials section tool can include operations for saving materials sections to a file in a memory or loading materials sections from a file to a memory accessible to the modeling system.

Referring now to FIGS. 15A-15C, exemplary menus and a settings window for adding weak contributions to a product of selections is illustrated, according to some aspects of the present disclosure. In some aspects, a user can add a weak contribution to a portion of a product geometry using the product of selections tool (see, e.g., FIG. 9). If the user specifies the weak contribution as a weak equation and also defines and uses an auxiliary dependent variable (shown elsewhere), such a dependent variable can then be created on a product of selections. The ability to define weak contributions (or weak constraints, or point-wise constraints or auxiliary dependent variables) on product geometries can be a desirable operation that offers computational advantages. The exemplary settings windows illustrated in FIG. 15A can be accessed by selecting a physics interface node. In some aspects, as illustrated in FIG. 15C, further selections are contemplated including an option for selecting “more”, “edges”, “point”, or “global” options and selecting an add weak contribution option 1500 b. In addition, it is contemplated that in some aspects an advanced physics option 1500 c is selected, as illustrated in FIG. 15B. The settings window exemplifies a product of selections interface 1500 d associated with a product of selections tool (see, e.g., FIG. 9) which may be used to define a weak expression entered in a weak expressions field 1500 a on a product of selections.

Referring now to FIGS. 16A-16B, exemplary menus and a settings window for adding a weak constraint to a product of selections are illustrated, according to some aspects of the present disclosure. The settings window exemplified by FIGS. 16A-16B can be accessed by selecting a physics interface node. In some aspects, further selections from a menu include selecting “more”, “edges” or “point” and selecting add weak constraint 1600 a, which can then open a settings window. The settings window exemplified in FIG. 16B includes a product of selections interface 1600 b associated with a product of selections tool for defining a weak constraint entered in the constraint field 1600 c on a product of selections.

Referring now to FIGS. 17A-17B, exemplary menus and a settings window for adding a point-wise constraint to a product of selections is illustrated, according to some aspects of the present disclosure. The settings window exemplified by FIGS. 17A-17B can be accessed by selecting a physics interface node. In some aspects, further selections from a menu include selecting “more”, “edges” or “point” and selecting add pointwise constraint 1700 a, which can then open a settings window. The settings window exemplified in FIG. 17B includes a product of selections interface 1700 b associated with a product of selections tool for defining a pointwise constraint entered in the constraint field 1700 c on a product of selections.

Referring now to FIGS. 18A-18B, exemplary menus and a settings window for adding an auxiliary dependent variable to a product of selections is illustrated, according to some aspects of the present disclosure. An auxiliary dependent variable may be added by selecting an auxiliary dependent variable node 1800 a. Adding an auxiliary dependent variable as well as a weak equation can be desirable for allowing a user to define weak equations on a product of selections. The field variable name 1800 b can be the name of the dependent variable. An initial value and an initial time derivative may also be set, as exemplified in FIG. 18B. A user may also use a product of selections interface 1800 c associated with a product of selections tool (see, e.g., FIG. 9) to define the auxiliary dependent variable on at least a portion of the product selections on which the weak contribution is defined. Typically, the portion can include all the product of selections on which the weak contribution is defined. In some aspects, a product of selections tool of the auxiliary dependent variable may not define an auxiliary dependent variable outside of the product of selections on which the weak contribution is defined. In addition, a user may define the shape function type and element order used when the auxiliary dependent variable is discretized.

It is contemplated that in some aspects of the simulations methods and systems described herein that initial values on products of selections described, for example, in FIG. 9 and thereafter, are set and that the setting of the initial values is implemented through physics interfaces, such as those of a multiphysics modeling system.

It is further contemplated that PDEs can be applied to form a system of user editable coupled PDEs, whether the PDEs are predefined on product geometries by physics interfaces or by a user. To solve the system of coupled PDEs, the PDEs can be discretized and DOFs defined on discretized product geometries. To determine the number and locations of DOFs, the base geometry and extra geometries are meshed, discretizing the base geometry and the extra geometries in mesh elements expressed by shape functions. A discretized product geometry is formed by the set of mesh points on the base geometry and the set of mesh points on extra geometries forming a Cartesian product. Such a Cartesian product includes tuples of mesh points on which the DOFs are defined. Once the base geometry and the extra geometries have been meshed, a product geometry has been formed, and DOFs have been assigned, then the model may be solved.

Referring now to FIG. 19, exemplary menus and a settings window for defining a mesh on a product of selections is illustrated, according to some aspects of the present disclosure. The mesh settings window for the base geometry and the extra geometries can be accessed by selecting mesh options 1900 a (e.g. Mesh1, Mesh2 respectively) under the base model and under the extra dimensions, as exemplified in FIG. 19. A mesh can either be user defined or physics controlled (e.g., 1900 b). If a user selects user controlled mesh, then various additional settings windows may become available in relation to child nodes of the mesh node. If the mesh is physics controlled the user may further select an element size (e.g., 1900 c).

In some aspects, PDEs can be discretized according to the following process exemplified as a 2-D problem for simplicity. In some aspects, a starting point for a discretization process is a weak formulation of the problem.

Discretization of the constraints identified by Equation 1 can start with the constraints on the boundaries, B.

0=R ⁽²⁾on Ω

0=R ⁽¹⁾on B

0=R ⁽⁰⁾on P  Equation 1

For each mesh element in B (e.g., each mesh edge in B), the Lagrange points of some order k are considered and denoted by x_(mj) ⁽¹⁾, where m is the index of the mesh element. Then the discretization of the constraint is

0=R ⁽¹⁾(x _(mj) ⁽¹⁾)  Equation 2

where the constraints hold pointwise at the Lagrange points.

The Lagrange point order k can be chosen differently for various components of the constraint vector R⁽¹⁾, and it can also vary in space. In some aspects of modeling system, such as multiphysics modeling systems, data structures denote the k as cporder. The constraints on domains Ω and points P can be discretized in the same way. All the pointwise constraints can be collected in one equation 0=M, where M is the vector including all the right-hand sides.

A multiphysics modeling system can approximate the dependent variables with functions in the chosen finite element space(s). This means that the dependent variables are expressed in terms of the degrees of freedom as

$\begin{matrix} {u_{i} = {\sum\limits_{i}{U_{i}\phi_{k}^{(J)}}}} & {{Equation}\mspace{14mu} 3} \end{matrix}$

where φ_(i) ^((l)) are the shape functions for variable u_(l) and letting U be the vector with the degrees of freedoms U_(i) as its components. This vector can be called the solution vector because it is include the what is desired to be computed. M depends only on U_(i) so the constraints can be written 0=M(U).

The difference between the discretizing of PDEs on a normal geometry and a PDE on a product geometry can be in how the shape functions are expressed. The shape functions can be defined on a base geometry and an extra geometry. While the above expression may still be used φ_(i) ^((l)) should be seen as being composed of the shape functions on the base geometry ψ_(a) ^(l) and the shape functions on the extra geometry θ_(b) ^(l). In some aspects, shape functions can form a product where:

u ₁=Σ_(a)Σ_(b) U _(ab)ψ_(a) ^(l)θ_(b) ^(l)  Equation 4

In the more general case we may view φ_(i) ^((l)) of Equation 3 as a function of ψ_(a) ^(l) and θ_(b) ^(l).

Now the weak equation is considered:

$\begin{matrix} {\mspace{79mu} {0 = {{\int_{\Omega}{W^{(2)}{A}}} + {\int_{B}{W^{(1)}{s}}} + {\sum\limits_{P}W^{(0)}} - {\int_{\Omega}{{\upsilon \cdot h^{{(2)}^{T}}}\mu^{(2)}{A}}} - {\int_{B}{{\upsilon \cdot h^{{(1)}^{T}}}\mu^{(1)}{s}}} - {\sum\limits_{P}{{\upsilon \cdot h^{{(0)}^{T}}}\mu^{(0)}}}}}} & {{Equation}\mspace{14mu} 5} \end{matrix}$

where μ^((i)) are the Lagrange multipliers.

To discretize the weak equation, the dependent variables are expressed in terms of the DOFs as described earlier. Similarly, the test functions can be approximated with the same finite elements (this is the Galerkin method):

$\begin{matrix} {\upsilon_{l} = {\sum\limits_{i}^{\;}{V_{i}\phi_{i}^{(J)}}}} & {{Equation}\mspace{14mu} 6} \end{matrix}$

Because the test functions occur linearly in the integrands of the weak equation, it can be enough to specify that the weak equation holds when the test functions are chosen as shape functions:

u _(l)=φ_(i) ^((l))  Equation 7

When substituted into the weak equation, this gives one equation for each i.

Now the Lagrange multipliers can be discretized. Let

Λ_(mj) ^((d)=μ) ^((d))(x _(mj) ^((d)))ω_(mj) ^((d))  Equation 8

where x_(mj) ^((d)) are the Lagrange points defined earlier, and ω_(mj) ^((d)) are certain weights, as discussed elsewhere in more detail. The term

$\begin{matrix} {\int_{R}{{\phi_{i} \cdot h^{{(1)}^{T}}}\mu^{(1)}{s}}} & {{Equation}\mspace{14mu} 9} \end{matrix}$

is approximated as a sum over all mesh elements in B.

The contribution from mesh element number m to this sum is approximated with the Riemann sum

$\begin{matrix} {{\sum\limits_{j}{{{\phi_{i}\left( x_{mj}^{(1)} \right)} \cdot {h^{{(1)}^{T}}\left( x_{mj}^{(1)} \right)}}{\mu^{(1)}\left( x_{mj}^{(1)} \right)}\omega_{mj}^{(1)}}} = {\sum\limits_{j}{{{\phi_{i}\left( x_{mj}^{(1)} \right)} \cdot {h^{{(1)}^{T}}\left( x_{mj}^{(1)} \right)}}\Lambda_{mj}^{(1)}}}} & {{Equation}\mspace{14mu} 10} \end{matrix}$

where ω_(mj) ⁽¹⁾ is the length (or integral of ds) over the appropriate part of the mesh element. The integral over Ω and the sum over P can be similarly approximated.

The above operation can yield the following discretization of the weak equation:

0=L−N _(F)Λ  Equation 11

where L is a vector whose ith component is

$\begin{matrix} {{\int_{\Omega}{W^{(2)}{A}}} + {\int_{R}{W^{(1)}{s}}} + {\sum\limits_{P}W^{(0)}}} & {{Equation}\mspace{14mu} 12} \end{matrix}$

evaluated for

u _(l)=φ_(i) ^((l))  Equation 13

Λ is the vector including all the discretized Lagrange multipliers Λ_(mj) ^((d)Λ) ^(mj) ^((d)). N_(F) is a matrix whose ith row is a concatenation of the vectors

φ_(i)(x _(mj) ^((d)))h ^((d))(x _(mj) ^((d)))^(T)  Equation 14

For problems using ideal constraints, N_(F) is equal to the constraint Jacobian matrix N, which is defined as

$\begin{matrix} {N = \frac{\partial M}{\partial U}} & {{Equation}\mspace{14mu} 15} \end{matrix}$

To sum up, in some aspects, the discretization of the stationary problem is

0=L(U)−N _(F)(U)Λ

0=M( U)  Equation 16

It is contemplated that an objective of the above operation is to solve this system for the solution vector U and the Lagrange multiplier vector Λ. L is called the residual vector, M is the constraint residual, and N_(F) is the constraint force Jacobian matrix. M is redundant in the sense that some pointwise constraints occur several times. Similarly, Λ is redundant. Equations solvers remove this redundancy.

The integrals occurring in the components of the residual vector L (as well as K, as discussed elsewhere herein) are computed approximately using a quadrature formula. Such a formula can compute the integral over a mesh element by taking a weighted sum of the integrand evaluated in a finite number of points in the mesh element. The order of a quadrature formula on a 1-D, triangular, or tetrahedral element is the maximum number k such that it exactly integrates all polynomials of degree k. For a quadrilateral element, a formula of order k integrates exactly all products p(ξ₁)q(ξ₂), where p and q are polynomials of degree k in the first and second local coordinates, respectively. A similar definition can be applied for hexahedral and prism elements. The accuracy of the quadrature can increase with the order, while the number of evaluation points also increases with the order, as well. As a rule of thumb, in some aspects the order may be twice the order of the shape function for the finite element being used. In some aspects, multiphysics data structures can refer to the order of the quadrature formula as gporder, where gp denotes Gauss points. In certain aspects, the maximum available order of the quadrature formula (the gporder value) may be (i) 41 for 1-D, quadrilateral, and hexahedral meshes; (ii) 30 for triangular and prism meshes; and (iii) 8 for tetrahedral meshes.

Discretization of a time-dependent problem may be similar to a stationary problem

0=L(U,{dot over (U)},Ü,t)−N _(F)(U,k)Λ

0=M(U,k)  Equation 17

where U and Λ now depend on time t.

Now, considering a linearized stationary problem, the linearization “point” u_(o) corresponds to a solution vector U₀. The discretization of the linearized problem is

K(U ₀)(U−U ₀)+N _(F)(U ₀)Λ=L(U ₀)

N(U ₀)(U−U ₀)=M(U ₀)  Equation 18

where K is called the stiffness matrix, and L(U₀) is the load vector. For problems given in general or weak form, K is the Jacobian of −L:

$\begin{matrix} {K = {- \frac{\partial L}{\partial U}}} & {{Equation}\mspace{14mu} 19} \end{matrix}$

The entries in the stiffness matrix can be computed in a similar way to the load vector, namely by integrating certain expressions numerically. This computation is called the assembling the stiffness matrix.

If a problem is linear, then its discretization can be written

KU+N _(F) Λ=L(0)

NU=M(0)  Equation 20

Similarly, for a time-dependent model the linearization involves the damping matrix

$\begin{matrix} {D = \frac{\partial L}{\partial U}} & {{Equation}\mspace{14mu} 21} \end{matrix}$

and the mass matrix

$\begin{matrix} {E = {- \frac{\partial L}{\partial\overset{\_}{U}}}} & {{Equation}\mspace{14mu} 22} \end{matrix}$

When E=0, the matrix D is often called the mass matrix instead of the damping matrix.

Discretization of an eigenvalue problem is

λ² E(U ₀)U+K(U ₀)U+N _(F)(U ₀)Λ=0

N(U ₀)U=0  Equation 23

where U₀ is the solution vector corresponding to the linearization “point.” If the underlying problem is linear, then D, K, and N do not depend on U₀, which yields:

KU+N _(F) Λ=λDU−λ ² EU

NU=0  Equation 24

In some aspects, weak constraints provide an alternative way to discretize the Dirichlet conditions, as opposed to the pointwise constraints described earlier. The idea is to regard the Lagrange multipliers μ^((d)) as field variables and thus approximate them with finite elements. This concept also introduces corresponding test functions v^((d)). Multiplying the Dirichlet conditions with these test functions and integrating gives the following system, in the case of a stationary problem in 2-D:

$\begin{matrix} {\mspace{79mu} {{0 = {{\int_{\Omega}{W^{(2)}{A}}} + {\int_{R}{W^{(1)}{s}}} + {\sum\limits_{P}W^{(0)}} - {\int_{\Omega}{{\upsilon \cdot h^{{(2)}^{T}}}\mu^{(2)}{A}}} - {\int_{R}{{\upsilon \cdot h^{{(1)}^{T}}}\mu^{(1)}{s}}} - {\sum\limits_{P}{\upsilon \cdot h^{{(0)}^{T}\mu^{(o)}}}}}}\mspace{85mu} {0 = {\int_{\Omega}{{v^{(2)} \cdot R^{(2)}}{A}}}}\mspace{85mu} {0 = {\int_{R}{{v^{(1)} \cdot R^{(1)}}{s}}}} {0 = {\sum\limits_{P}{v^{(o)} \cdot R^{(o)}}}}}} & {{Equation}\mspace{14mu} 25} \end{matrix}$

These weak equations can be combined to form a single equation. This treatment of the Lagrange multipliers as ordinary variables can produce a weak equation without constraints. This can be useful if the Lagrange multipliers are of interest in their own right.

It is contemplated that combining pointwise and weak constraints unique situations can arise. For example, if both types of constraints are present for some variable, and the constraints are in adjacent domains, the resulting discretization may not work. Instead, it is contemplated that pointwise constraints can be obtained from the weak constraints formulation by using the shape functions

δ(x−x _(mj) ^((d)))  Equation 26

for the Lagrange multipliers and their test functions, that is, let

$\begin{matrix} {\mu^{(d)} = {\sum\limits_{m,j}{\Lambda_{mj}^{(d)}{\delta \left( {x - x_{mj}^{(d)}} \right)}}}} & {{Equation}\mspace{14mu} 27} \end{matrix}$

where δ is Dirac's delta function.

In some aspects, physics interfaces in modeling systems can be operable to predefine dependent variables on product geometries. This is can be a desirable aspect as exemplified below.

An exemplary aspect of the present disclosure can include a structural shell interface where a user describes the thickness direction of a shell as an extra dimension and a surface constituting a base geometry. In general, a shell element discretization is suited for structures which are thin in one direction. The displacement, stresses, and strains may be described by displacement and rotation physical quantities located on the mid-surface of the shell. Such a mid-surface may be described using a base model including a three-dimensional surface constituting a base geometry. The three-dimensional surface may be curved in a three dimensional space. For linear elastic problems, this may be the only information needed for solving a structural problem, since the shell theory assumptions allows for an analytical representations of the variations of all structural quantities in the thickness direction.

An extra dimension can be introduced when some physical quantity varies along the thickness and when this variation may not be handled analytically. It may also be introduced as a convenience for describing a variation in material in the shell for instance for multi layered shells. The thickness direction is then described as a line segment which is an extra geometry. The extra geometry may form a product geometry with the base geometry and the relevant physical quantities may then be defined on the product geometry. There are two situations where such an approach may be used for structural shells. The first is where stiffness contributions from different levels in the shell cannot be analytically integrated through the thickness. This would for example be the case for a nonlinear elastic or hyperelastic materials. In this case an extra dimension can be used to integrate nonlinear functions through the thickness, that is, the extra geometry. The second is where state variables are computed and stored at different levels in the shell thickness direction. This would be the situation for e.g. elastoplastic and creep materials. The concept is examined more in detail below in the context of creep materials.

For a material which experiences creep, the rate of the creep strain tensor ({dot over (ε)}_(c)) can be described as

{dot over (ε)}_(c) =f(θ,T,t)  Equation 28

Here, σ denotes the stress tensor, T the temperature, and t the time. The function Λ is usually strongly nonlinear. The creep strain tensor is symmetric, and will thus have six independent components. Since the stress state, and possibly also the temperature, will vary through the thickness of the shell, the creep strain rate will have a strong variation with the local coordinate through the thickness (ζ).

The constitutive law used for computing the stresses is

σ=D:(ε−ε_(c))  Equation 29

where : denotes inner product. D is the fourth order elastic constitutive tensor and ε is the total strain tensor which is computed from the displacements and rotations at the mid-surface of the shell. To compute the stress and the Jacobians for the stiffness matrix, creep strain should be available through the thickness. The expressions, variables and parameters may be expressed in a symbolic form in a GUI in a physics or multiphysics simulation system. Furthermore, predefined expressions can be user editable.

Other physical quantities such as temperature and heat flux may also be described in physics interfaces using PDEs. In these PDEs, physical properties may be expressed as functions of physical quantities in PDEs defined on the product geometry. These PDEs may form a coupled system of PDEs, together with the PDEs describing the structural problem (including, for example creep strain). The PDEs of such a coupled system may be user editable.

The extra geometry, which is in the thickness direction, may be discretized and form a product geometry with the discretized base geometry. The PDEs describing the structural problem may be discretized together with PDEs describing other physical quantities and may then be expressed as degrees of freedom on the discretized product geometry. The shape functions selected for the structural problem can have any type of continuity in the direction along the thickness.

The structural problems may be solved independently or together with equations for other physical quantities using a numerical solver. A user may thus be able to model creep strain independently or coupled to other physical quantities (described in other physics interfaces) in a shell interface by describing the thickness direction using an extra geometry, said extra geometry forming a product geometry with the base geometry.

It may be desirable to model multi-layer shells using an extra geometry to construct product geometries. In particular, it may be beneficial to describe the thickness direction using either a materials section feature, including functionality for describing layered structures, or by including such edit fields in for example a settings window for a shell physics interfaces.

Another exemplary aspect includes a structural beam interface. The same considerations as for shells apply. The difference is that the standard beam formulation introduces displacements and rotations along a line or a curve. A 2-D extra geometry can be specified for representing the beam cross section and nonlinear functions or state variables may be described in the cross section.

For the structural beam aspect, a base geometry can be constructed as a line segment or curve segment, which may be curved or twisted in a 3-D space. The extra geometry representing the cross section may be loaded from a file, obtained from a library of beam cross sections, or constructed using the tools for creating geometries described elsewhere. It is also possible that the cross section is described by referring to a beam cross-section defined in a materials section described elsewhere. A product geometry is formed between the base geometry and the extra geometry. Various user editable expressions describing physical quantities, for instance the creep strain tensor are defined on the product geometry, in the form of PDEs, possibly forming a coupled system with other PDEs. The model is discretized analogously to the shell example and solved either independently or as the coupled system using a numerical solver. A user may thus be able to model creep strain independently or coupled to other physical quantities (described in other physics interfaces) in a structural beam interface by describing the cross section using an extra geometry, said extra geometry forming a product geometry with the base geometry.

Yet another exemplary aspect is a packed bed reactor which can be modeled using a base geometry and forming a product geometry with an extra geometry. The packed bed reactor is one of the most common reactors in the chemical industry, for use in heterogeneous catalytic processes. Such a reactor may include a container filled with catalyst particles. These particles may be supported by a structure, like tubes or channels, or they can be packed in one single compartment in the reactor. Some of the complexities of modeling mass and energy transport in a reactor lies in the description of the porous structure, which gives transport of different orders of magnitudes within the particles and between the particles. In most situations, the structure between particles is described as macroporous structure and the particle radius can be of the order of magnitude of 1 mm. When a pressure difference is applied across the bed, convection arises in the macroporous bulk of the reactor. The pores inside the catalyst particles form the microstructure of the bed and transport in this microstructure takes place mainly in the form of diffusion. By applying an extra dimension approach, a time dependent model can provide the mass and reaction distributions in the reactor and within each catalyst pellet in the reactor. This makes it possible to evaluate the utilization of catalyst load, optimal pellet size, or inlet temperature.

A model can be defined for a reactor where the pressure drop, convection, and diffusion takes place in three-dimensions. Assuming that the particles are spherical, only the transport and reactions along the radius may be specified in a model. Different dimensionalities with respect to the reactor and pellets would use a similar approach.

Referring now to FIGS. 20-29, an exemplary aspect of the simulation methods for modifying a geometry of a model according to the present disclosure are illustrated in the context of propylene and carbon monoxide being oxidized in catalytic particles.

FIG. 20 includes exemplary equations and parameters describing modeled reactions, according to some aspects of the present disclosure. Equations of reactions are provided for the catalyzed oxidation of carbon monoxide to carbon dioxide 2000 a and the catalyzed oxidation of propylene to water and carbon dioxide 2000 b. The reaction rate for equation 2000 a is provided at element 2000 c and the reaction rate for equations 2000 b is provided at element 2000 d. Rate constants may be calculated using the Arrhenius equation 2000 e. Values for the activation energy E and the frequency factor A are provided in table 2000 f.

FIG. 21 includes exemplary equations describing physical properties of species in the reactor bulk, according to some aspects of the present disclosure. For example, the total concentration and flow velocity may be described by the continuity equation 2100 a, where c is the total concentration which is the concentration of all species including the solvent 2100 h, t is the time, u is the reactor flow velocity, and s a sink/source term reflecting that while atoms are not created or destroyed, the number of molecules may vary due to reactions. The pressure gradient in the reactor is related to the flow velocity through Darcy's law 2100 b, where P denotes pressure, k is the permeability of the packed bed reactor, and η is the viscosity of the gas flowing through the reactor. The total molecular flux is the sum of the flux of each species N_(i) 2100 c. The species flux in the reactor may include a diffusion and a convection contribution as provided in 2100 d, where D_(i) is the diffusion tensor and c_(i) is the concentration of species i. The convection and diffusion equation is provided in 2100 e, where R_(i) is a source term, reflecting the contribution by reactions and transport within the catalyst particles. Boundary conditions at the reactor inlet are provided in 2100 f. At the outlet of the reactor convective mass transport is dominant and can give a second boundary condition 2100 g, where n is the outward vector unit normal.

Referring back to the convection and diffusion equation 2100 e, the source term, R_(i), depends on the transport inside the catalyst particles. The molar flux at the outer surface of the particles multiplied by the available outer surface area of the particles per unit volume can provide a proper source term. It can be desirable to apply an extra dimension to model the catalyst particles to obtain the source term R_(i).

FIG. 22 includes exemplary equations describing physical properties of species in the porous particles of a modeled reactor, according to some aspects of the present disclosure. It is contemplated for the exemplary model of the species in the bulk reactor that inside the particles there is no convection contribution, only diffusion. The contribution to the species concentration is provided in 2200 a. c_(pi) is the concentration of i in the catalyst particle. D_(pi) is the diffusion tensor (in this example a scalar) for species i within the particle while R_(p) is the reaction rate for the heterogeneous reaction in the particle. A boundary condition stating that net outward diffusion at the center of the particle is 0 is provided in 2200 b, and a boundary condition stating that the species concentration within the particle is equal to the reactor bulk species concentration, adjusted by the porosity ε of the particle is provided in 2200 c. An expression for the source term R_(i) is provided in 2200 d. The expression in 2200 d for the exemplary model is valid at the particle surface, where the independent radius variable r equals the particle radius, r_(p). A_(p) denotes the pellet surface to volume ratio.

It is contemplated that for this exemplary model a product geometry between a base geometry for the reactor and an extra geometry for catalyst particles can provide a way to accurately model the interface between the concentrations on the outside of the pellets and those on the inside. In this exemplary model, the physics interface for transport of diluted species can be used to model the packed bed reactor. Such a physics interface may include processes for automatically constructing extra dimensions, for particle radius, and forming a product geometry automatically.

FIGS. 23A-23C illustrate exemplary menus and settings windows for creating geometries describing a bulk reactor as a base geometry and particles as an extra geometry, according to some aspects of the present disclosure. For example, a user of the modeling system draws a shape 2300 a to represent the reactor, and which may also represent the base geometry. The user can then set the radius 2300 b for the catalytic particle in a settings window of a physics interface. The system can then automatically construct a line segment dependent on the radius as an extra geometry, In some aspects, a graphical representation of the particle can alternatively be constructed in a geometry settings window 2300 c. A product geometry can then be formed between the base geometry and the extra geometry.

FIGS. 24-30 illustrate exemplary settings windows and results for modeling a reactor including porous particles described as an extra geometry, according to some aspects of the present disclosure. In FIGS. 24A-24B, parameters can be set by a user by entering the data into edit fields 2400 a, or by loading them into a memory from a file. The reaction rates are then defined along with certain other variables 2400 b, which can also be defined on the product geometry.

It is contemplated that physics interfaces, such as the interface illustrated in FIG. 25, can include several child nodes 2500 a, where each child node can include one or more settings windows. These settings windows can include sections for specifying input for the bulk of the reactor, and sections for specifying input for the catalytic particles. Two sets of diffusion tensors 2500 b, 2500 c, or scalar diffusion coefficients for isotropic materials, can be defined, one set for the reactor 2500 b and one set for the catalytic particles 2500 c. In the same settings window, convection can also be defined. A modeling software can then automatically assigns the diffusion coefficient and convection expressions for the reactor to the base geometry and the diffusion coefficient for the particles to the extra geometry.

In some aspects, another settings window, such as settings window 2600 a in FIG. 26, can be accessed where initial concentrations can be defined on each geometry. It is also contemplated that boundary conditions 2700 a and reactions 2800 a in the particles as well as the flux 2800 b from the particles into the reactor bulk can also be defined as exemplified by the setting windows of FIGS. 27 and 28.

The expressions and variables can be assigned on the product geometry as predefined by the physics interfaces. It is contemplated that the generated PDEs, which may be expressed in weak form (e.g., 2900 a in FIG. 29), can further be user editable. The user can then mesh the base geometry representing the reactor. The extra dimension can be automatically meshed in accordance with predefined settings in the physics interfaces. In some aspects, the extra dimension mesh can be user defined. Two meshes can then be generated. One mesh is generated for the base geometry and one for the extra geometry. A compute icon 3000 a can then be selected, as exemplified in FIG. 30, to solve the model. The modeling system can solve the equations for the dependent variables, representing physical quantities such as concentration and temperature in the reactor bulk and in the catalytic particles. The user may construct various plots 3000 b as exemplified in FIG. 30, or tables to view representations of the solution.

Another exemplary aspect of the simulation methods for modifying the geometry of a model according to the present disclosure are illustrated in the context of absorption and scattering of radiation in a participating media are illustrated, according to some aspect of the present disclosure. Referring now to FIG. 31, for a given wavelength, the intensity of radiation in position s and in direction Ω can be determined by applying the equation provided at 3100 a, where κ, β, and σ_(s) denote absorption, extinction, and scattering coefficients, respectively. I(Ω, s) denotes the radiation intensity at the position s position in the Ω direction. For radiation in heat transfer, the first term of the equation at 3100 a relates to the blackbody radiation intensity which is represented by the expression provided at 3100 b, where n refers to the refractive index. The second term of the equation at 3100 a refers to extinction and the third term to scattering. It can be desirable to introduce extra dimensions to model the system represented by the equations because of the high dimensionality of a phase space. Given a three dimensional geometry, there are three dimensions for defining s. The direction Ω may be described by two angles adding two dimensions and an additional dimension can be added for wavelength, and the additional dimension may be used for radiation with multiple wavelengths.

A user modeling the above example can construct a base geometry that describes the three-dimensional space. An extra geometry may be predefined in the physics interface as a sphere, spanned by the two angles rotation, with an independent variable along the radius representing the wavelength of radiation. The extra geometry may or may not be displayed in the GUI depending on the settings of the modeling system. The physics interface can include settings windows for model inputs that may be typed in edit fields or selected from lists. Such input may be for instance, temperature field variable, absorption coefficients, scattering coefficients, and scattering type describing the phase function of the scattering. Some inputs may be given by defining a material on the base geometry or on parts of the base geometry. Examples of such inputs are absorption and scattering coefficients. Materials used in the model may be defined in certain aspects only on the base geometry, and the modeling system may automatically handle the formation of product geometries. Radiation can be described as editable PDEs. Other physical quantities may be described either in the physics interface for radiation or in other physics interfaces. Such physical quantities can also be expressed as editable PDEs and may form a system of coupled PDEs with the PDEs describing radiation. The PDEs of the radiation interface may be discretized and solved either independently or as the coupled system of partial differential equations using finite element solvers. A user may thus model radiation in participating media, either independently or coupled to other physical quantities, by describing the direction of radiation and possibly wavelength of the radiation using an extra geometry. The extra geometry can form a product geometry with the base geometry describing the space in which radiation is modeled.

Yet another exemplary aspect is a physics interface for simulating a gas. The physics interface can be referred to as a Boltzmann interface. Such models may define the time dependent Boltzmann equation for describing the spatial distribution and velocity distribution of the particles of a gas. The Boltzmann equation gives the probability of finding particles within a volume element dx centered at position x and within a certain velocity range dv centered on a velocity v within a given time range. Similarly to the case of radiation, the phase space has a dimensionality of six for a gas modeled in a 3D geometry. A position in space may be described by a base geometry while the velocity may be described by extra dimensions. The base geometry may be three-dimensional, describe by three space coordinates, while the extra dimensions for the velocity may be described by the volume of a sphere, with one independent variable (the radius) describing the speed of the particles, and two other independent describing the angular dependency of the speed (the sphere spanned by rotating the two angles), together giving the velocity of a particle in a given direction.

When modeling a system where there is a sufficient range in the difference between the masses of the particles, it can be desirable to create several extra geometries. Each extra geometry can describe particles within a certain mass range, and thereby introduce an independent variable also for mass. It is also contemplated that a variation in mass can be introduced as yet another extra dimension.

A user can construct a base geometry describing a space including the particles. The Boltzmann interface may construct one or more extra geometries automatically, the dimensionality of the extra geometries dependent on the base geometry. The extra geometries can form a product geometry with the base geometry automatically as predefined by the Boltzmann interface. The user may give inputs to the Boltzmann interface, the inputs being specified for example by typing in edit fields or making selections in lists. The user may give inputs for instance relating to particle types, temperature, pressure and number of particles. Physical quantities in the Boltzmann interface may be predefined by user editable expressions in the form of PDEs.

It is contemplated that other physical quantities can be described either in the Boltzmann interface or in other physics interfaces. Such physical quantities can be expressed as editable PDEs or ODEs and may form a system of coupled PDEs together with the PDEs describing the spatial and velocity distribution of the gas. The PDEs of the Boltzmann interface may be discretized and solved either independently or as the coupled system of partial differential equations using a numerical solver. A user may thus model a time dependent spatial and velocity distribution of a gas either independently or coupled to other physical quantities by describing the velocity distribution using extra geometries with the extra geometry forming a product geometry with the base geometry describing the spatial distribution.

A further exemplary aspect of the present disclosure is an automatic operation for attaching PMLs to a geometry using extra geometries. A PML may exist on the boundaries of a wave equation to model that the wave is absorbed with no reflection on the boundary. For simplicity, a user of the modeling system can constructs a rectangle in a physics interface modeling some type of wave propagation phenomenon. Two parallel boundaries of the rectangle can be referred to as being directed in the x-direction and the other two boundaries of the rectangle as being directed in the y-direction. The user may select the boundaries of the rectangle and define the boundaries of the rectangle as perfectly matched layers. The modeling system can then automatically construct two extra geometries in the form of line segments, for example denoted XDx and XDy. The modeling system can further create several product geometries. XDx may form two 2-D product geometries with the boundaries directed in the x-direction. XDy may form two 2-D product geometries with the boundaries directed in the y direction. XDx and XDy may form a product of extra dimensions. The product of extra dimensions can form four 2-D product geometries with the vertexes of the rectangle. An example of a coordinate stretching transformation is

$\begin{matrix} {\xi = {{{sign}\left( {\xi - \xi_{0}} \right)}{{\xi - \xi_{0}}}^{n}\frac{L}{\delta \; \xi^{n}}\left( {1 - l} \right)}} & {{Equation}\mspace{14mu} 30} \end{matrix}$

where the PML scaling factor and n can be determined by the modeling system and may further be user editable along with ξ and ξ₀. A coordinate stretching transformation can further be applied to the product geometries.

According to some aspects, a simulation method is executed in a computer system with one or more processors configured to modify a geometry of a model of a physical system including physical quantities represented in terms of a combined set of equations. The simulation method comprising the acts of defining geometry data representing a geometry of a physical system represented by a first combined set of equations. The geometry data is associated with a first model of the physical system. Extra geometry data representing one or more extra geometries for a modified model based on the first model is defined, via one or more processors. A first set of geometric entity data representing one or more geometric entities of the geometry of the physical system from which to extend the one or more extra geometries is determined via at least one of the one or more processors. At least a portion of the extra geometry data representing at least one of the one or more extra geometries is added, via at least one of said one or more processors, to the determined first set of geometric entity data representing one or more geometric entities by forming product geometry data representing a product geometry for the modified model. The extra geometry data representing the one or more extra geometries is at least a part of the product geometry data. Non-discretized equation data representing a non-discretized second combined set of equations for at least a portion of the product geometry data is generated via at least one of the one or more processors. Optionally a graphical representation of at least a portion of the product geometry data is generated. The graphical representation is configured for display on a graphical user interface.

It is contemplated that the simulation method described above can further include in some aspects one or more of the following features. At least a portion of the product geometry data can be stored as graphical representations configured for later display on one or more display devices. The method can also include generating a graphical representation of at least a portion of the product geometry data, with the graphical representation configured for display on one or more display devices. The graphical representation can include at least a portion of the product geometry data. The one or more extra geometries can be a part of an extra dimension. The simulation method can further include the act of determining, via at least one of said one or more processors, a second set of geometric entity data representing one or more geometric entities of the one or more extra geometries, and determining product selection data representing a product of selections computed as a Cartesian product between at least a portion of the first set of geometric entity data representing one or more geometric entities of the geometry and at least a portion of the second set of geometric entity data representing one or more geometric entities of the one or more extra geometries. The non-discretized equation data representing the non-discretized second combined set of equations can be user editable to allow editing of the second combined set of equations. The updated combined set of equations can be a combined set of non-discretized differential equations. The non-discretized second combined set of equations can be a combined set of non-discretized partial differential equations configured as input data for a partial differential equation solver.

It is further contemplated that the simulation method described above can also include in some aspects one or more of the following features. At least one of the one or more geometric entities can be a vertex, an edge, a boundary, or a domain. The simulation method can further include the act of defining material property data representing a material property for at least one of the one or more extra geometries. The simulation method can also include the act of defining material property data representing a material property for at least a portion of the product geometry data after forming the product geometry data representing the product geometry for said modified model. The geometry of the physical system can be one-dimensional and the one or more extra geometries are two-dimensional. The geometry of the physical system can also be three-dimensional and the one or more extra geometries can be one-dimensional. The geometry of the physical system and the one or more extra geometries can both be three-dimensional. The determining of the first set of geometric entity data representing one or more geometric entities on the geometry of a physical system can be based on user selections received via a graphical user interface. Similarly, the determining of the second set of geometric entity data representing one or more geometric entities of the one or more extra geometries can be based on user selections received via a graphical user interface. Defining of the geometry data representing the geometry of the physical system can include extracting the geometry data from data representing the first model of the physical system. Defining of the extra geometry data representing one or more extra geometries can occur at least in part via selections of extra geometry properties received via a graphical user interface.

According to some aspects, a simulation system or apparatus is contemplated for adding extra geometries to a base geometry of a model of a physical system represented in terms of a combined set of differential equations. The system includes one or more physical memory devices, one or more display devices, one or more user input devices, and one or more processors are configured to or adapted to execute instructions stored on at least one of the one or more physical memory devices. The instructions cause at least one of the one or more processors to perform steps including defining base geometry data representing a base geometry of a physical system. The base geometry data is associated with a first model of the physical system, which is represented by a combined set of differential equations. Extra geometry data is defined representing one or more extra geometries for a modified model based on said first model. A first set of geometric entity data is determined representing one or more entities of the base geometry from which to extend the one or more extra geometries. At least a portion of the extra geometry data representing at least one of the one or more extra geometries is added to the determined first set of geometric entity data representing one or more entities of the base geometry by generating product data representing a product geometry for the modified model. The extra geometry data is at least a part of the product data. Equation data is generated representing an updated combined set of differential equations for the modified model that includes at least a portion the product data. The equation data and the product data can be stored in at least one of the one or more physical memory devices.

It is contemplated that the simulation system or apparatus described above can further include in some aspects one or more of the following features. At least a portion of the product data can be stored as graphical representations configured for later display on the one or more display devices. The instructions can also cause at least one of the one or more processors to further perform a step comprising generating a graphical representation of at least a portion of the product data, where the graphical representation is configured for display on at least one of the one or more display devices. At least a portion of the product data can be stored as graphical representations configured for later display on the one or more display devices. The instructions can further cause at least one of the one or more processors to perform a step comprising generating a graphical representation of at least a portion of the product data where the graphical representation configured for display on at least one of the one or more display devices. The graphical representation can include the at least a portion of the product geometry data. The determining of the first set of geometric entity data representing one or more geometric entities on the geometry of a physical system can be based on user selections received via a graphical user interface. The defining of the geometry data representing the geometry of the physical system can include extracting the geometry data from data representing the first model of the physical system. The defining of the extra geometry data representing of one or more extra geometries can occurs at least in part via selections of extra geometry properties received via a graphical user interface.

It is further contemplated that the simulation system or apparatus described above can also include in some aspects one or more of the following features. The one or more extra geometries can be a part of an extra dimension. The system or apparatus can further include the act of determining, via at least one of the one or more processors, a second set of geometric entity data representing one or more geometric entities of the one or more extra geometries, and determining product selection data representing a product of selections that can be computed as a Cartesian product between at least a portion of the first set of geometric entity data representing one or more geometric entities of the geometry and at least a portion of the second set of geometric entity data representing one or more geometric entities of the one or more extra geometries. The non-discretized equation data representing the non-discretized second combined set of equations can be user editable to allow editing of the second combined set of equations. The updated combined set of equations can be a combined set of non-discretized differential equations. The non-discretized second combined set of equations is a combined set of non-discretized partial differential equations configured as input data for a partial differential equation solver. At least one of the one or more geometric entities can be a vertex, edge, boundary, or a domain. The system or apparatus can further include the act of defining material property data representing a material property for at least one of the one or more extra geometries. The system or apparatus can further include defining the material property data representing a material property for at least a portion of the product geometry data after forming the product data representing the product geometry for the modified model. The geometry of the physical system can be one-dimensional and the one or more extra geometries can be two-dimensional. The geometry of the physical system can also be three-dimensional with the one or more extra geometries being one-dimensional. The geometry of the physical system and the one or more extra geometries can further both be three-dimensional.

According to some aspects, a simulation apparatus or system for adding extra geometries to a model of a physical system is contemplated. The apparatus or system includes a physical computing system comprising one or more processors, one or more user input devices, a display device, and one or more memory devices. At least one of the one or more memory devices includes executable instructions for modifying a geometry of a model of a physical system represented in terms of a combined set of equations. The executable instructions cause at least one of the one or more processors to perform, upon execution, acts comprising receiving a base geometry of said physical system in response to one or more first inputs received via the one or more user input devices. The base geometry is associated with a model of the physical system which is represented in terms of a combined set of equations. One or more second inputs are received via at least one of the one or more user input devices. The second inputs define one or more extra geometries associated with the base geometry. One or more first geometric entities of the base geometry and one or more second geometric entities of the extra geometry are determined. At least one of the one or more extra geometries are added to the base geometry by computing a product geometry of the determined one or more first geometric entities and the one or more second geometric entities. The one or more extra geometries are at least a part of the product geometry. An updated combined set of equations is generated including representations of at least a portion of the product geometry. A graphical representation is generated of at least a portion of the product geometry. The graphical representation is configured for display on the display device.

It is contemplated that the simulation apparatus or system described above can further include in some aspects one or more of the following features. The updated combined set of equations can be a combined set of non-discretized differential equations. At least a portion of the product geometry can be stored as graphical representations configured for later display on the one or more display devices. The graphical representation can include at least a portion of the product geometry. The one or more extra geometries can be a part of an extra dimension. The computing of the product geometry can be implemented as a Cartesian product between at least a portion of the one or more first geometric entities of the base geometry and one or more second geometric entities of the one or more extra geometries. The updated combined set of equations can be user editable to allow editing of the second combined set of equations. The updated combined set of equations can be a combined set of non-discretized partial differential equations configured as input data for a partial differential equation solver. At least one of the one or more first geometric entities can be a vertex, an edge, a domain, or a boundary. The system or apparatus can also define a material property for at least one of the one or more extra geometries. In addition, the system or method can define a material property for at least a portion of the product geometry after computing the product geometry. The geometry of the physical system can be one-dimensional and one or more extra geometries can be two-dimensional. The geometry of the physical system can also be three-dimensional with the one or more extra geometries being one-dimensional. The geometry of the physical system and the one or more extra geometries can both be three-dimensional. The determining of the one or more first geometric entities on the base geometry of a physical system can be based on user selections received via a graphical user interface. The defining of the base geometry of the physical system can include at least partially extracting the base geometry from data representing the model of the physical system. The defining of one or more extra geometries can occur at least in part via selections of extra geometry properties received via a graphical user interface.

Certain aspects of the present disclosure contemplate methods, systems, or apparatus based on any and all combinations of any two or more of the steps, acts, or features, individually or collectively, disclosed or referred to or otherwise indicated in the present disclosure.

The exemplary aspects for simulation methods, apparatus, and systems for modifying a geometry, for adding extra geometries to a base geometry, and for adding geometries to model(s) of physical system(s) presented in FIGS. 1-31 are merely examples and are understood to apply to broader applications and physic phenomena, not just the simulation aspects described in more detail or illustrated in the figures. For example, it would be understood that many different custom geometries depending on a particular application can be modified or extra geometries added thereto using the present disclosures. The illustrated aspects are merely examples of the broader operations that may be performed by a modeling system. Furthermore, other types of graphical, user, or alternative input-type interfaces are contemplated.

Referring now to FIG. 32, an exemplary aspect of a computer system is illustrated that may be used with the methods described elsewhere herein including modeling systems and systems for generating a modified geometry of a model of a physical system. The computer system 3210 includes a data storage system 3212 connected to host systems 3214 a-3214 n through communication medium 3218. In this embodiment of the computer system 3210, the “n” hosts 3214 a-3214 n may access the data storage system 3212, for example, in performing input/output (I/O) operations. The communication medium 3218 may be any one of a variety of networks or other type of communication connections as known in the modeling and computer simulation field. For example, the communication medium 3218 may be the Internet, an intranet, or other network connection by which the host systems 3214 a-114 n may access and communicate with the data storage system 3212, and may also communicate with others included in the computer system 3210, including without limitation systems based on various forms of network communications (e.g., fiber optic, wireless, Ethernet).

Each of the host systems 3214 a-3214 n and the data storage system 3212 included in the computer system 3210 may be connected to the communication medium 3218 by any one of a variety of connections as may be provided and supported in accordance with the type of communication medium 3218. The processors included in the host computer systems 3214 a-3214 n may be any one of a variety of commercially available single or multi-processor system, such as an Intel-based processor, IBM mainframe, server, or other type of commercially available processor able to support incoming traffic in accordance with each particular embodiment and application.

It should be noted that the particulars of the hardware and processes included in each of the host systems 3214 a-3214 n, as well as those components that may be included in the data storage system 3212 are described herein in more detail, and may vary with each particular embodiment. Each of the host computers 3214 a-3214 n, as well as the data storage system 3212, may all be located at the same physical site, or, alternatively, may also be located in different physical locations. Examples of the communication medium that may be used to provide the different types of connections between the host computer systems, the data manager system, and the data storage system of the computer system 3210 may use a variety of different communication protocols such as SCSI, ESCON, Fiber Channel, or functional equivalents that are known to those skilled in the computer modeling and simulation field. Some or all of the connections by which the hosts and data storage system 3212 may be connected to the communication medium 3218 may pass through other communication devices, such as a Connectrix or other switching equipment that may exist, both physical and virtual, such as a phone line, a repeater, a multiplexer or even a satellite.

Each of the host computer systems may perform different types of data operations, such as storing and retrieving data files used in connection with an application executing on one or more of the host computer systems. For example, a computer program may be executing on the host computer 3214 a and store and retrieve data from the data storage system 3212. The data storage system 3212 may include any number of a variety of different data storage devices, such as disks, tapes, and the like in accordance with each implementation. As will be described in following paragraphs, methods may reside and be executing on any one of the host computer systems 3214 a-3214 n. Data may be stored locally on the host system executing the methods, as well as remotely in the data storage system 3212 or on another host computer system. Similarly, depending on the configuration of each computer system 3210, method as described herein may be stored and executed on one of the host computer systems and accessed remotely by a user on another computer system using local data. A variety of different system configurations and variations are possible then as will be described in connection with the embodiment of the computer system 3210 of FIG. 32 and should not be construed as a limitation of the techniques described elsewhere herein.

Referring now to FIG. 33, an exemplary aspect of a modeling system 3319 is illustrated that may reside, for example, on a single computer or in one of a plurality of host computer systems (e.g., host computers 3214 a-3214 n). The modeling system may be divided into several components. One exemplary aspect of the system may include a GUI module 3320, a Modeling and Simulation module 3322, and a Data Storage and Retrieval module 3324. The GUI module 3320 can provide for interactions with system users. The Modeling and Simulation module 3322 can provide an ability to manage and perform a multiphysics simulation. The Data Storage and Retrieval module 3324 can provide an ability to load and save the model in a file, and to load and store other types of files which may be used during the simulation or may be used as input or output to the simulation.

The GUI module 3320 may communicate with the Modeling and Simulation module 3322 by sending and receiving commands. The act of sending and receiving commands may be performed through an application programming interface (“API”) or other similar components. In one aspect of the system, the API may be object oriented and mix data and function calls within the same structure. In another aspect of the system, the API may use a data structure that is separate from function calls.

It is contemplated that in certain aspects of the present disclosure components of the multiphysics modeling system may reside on different host computer systems. For example, the GUI module 3320 may reside on a personal computer host and the Modeling and Simulation module 3322 may reside on a server computer host. It is further contemplated that the Data Storage and Retrieval module 3324 may reside on either the personal computer host or the server computer host, or yet another separate computer host. If the computer hosts are not identical, the API can be configured to use a computer network to communicate between hosts. In one embodiment, an object oriented API may be configured to send data and method calls over the computer network or in another embodiment send data and function calls between the components over a computer network. The API may also be able to handle a Data Storage and Retrieval module 3324 which may be located either on the host of the GUI module 3320 or the Modeling and Simulation module 3322, or on a separate host. In each of those cases, the Data Storage and Retrieval module 3324 may be configured to load and store files on each of those hosts.

It is contemplated that in certain aspects, the system 3319 may include, or be configured with, components other than what is described and represented in the modeling system 3319 illustrated in FIG. 33. In the exemplary aspect illustrated in FIG. 33, Libraries 3326 and the User Data Files 3328 can be stored locally within the host computer system. It is further contemplated that in certain aspects, the Libraries 3326 and/or User Data Files 3328, as well as copies of these, may be stored in another host computer system and/or in the Data Storage System 3312 of the computer system 3310. However, for simplicity and explanation in paragraphs that follow, it may be assumed in a non-limiting manner that the system 3319 may reside on a single host computer system such as 3214 a with additional backups, for example, of the User Data Files and Libraries, in the Data Storage System 3212.

In certain aspects of the present disclosure, portions of the modeling system 3319, such as the GUI module 3320, the Modeling and Simulation module 3322, the Data Storage and Retrieval module 3324, and/or the Libraries 3326 may be included or executed in combination with commercially available systems. These components may operate on one of the host systems 3214 a-3214 n, and may include one or more operating systems, such as, Windows XP®, Windows 7, Windows HPC Server 2008 R2, Unix®, Linux®, or Mac OS. It is further contemplated that the modules of the modeling system 3319 may written in any one of a variety of computer programming languages, such as, C, C++, C#, Java®, or any combination(s) thereof, or other commercially available programming languages.

It is contemplated that the GUI module 3320 may display GUI windows in connection with obtaining data for use in performing modeling, simulation, and/or other problem solving for one or more processes and/or physics phenomena under consideration by a system user. The one or more processes and/or phenomena may be assembled and solved by the Modeling and Simulation module 3322. That is, user data may be gathered or received by the system using modules, such as the GUI module 3320, and subsequently used by the Modeling and Simulation module 3322. Thereafter, the data may be transferred or forwarded to the Data Storage and Retrieval module 3324 where the user-entered data may be stored in a separate data structure (e.g., User Data Files 3328). It is contemplated that other data and information may also be stored and retrieved from a separate data structure, such as Libraries 3326, which may be used by the Modeling and Simulation module 3322 or in connection with the GUI module 3320.

The various data files that may be associated with a modeling system, such as User Data Files 3328 and the Libraries 3326, may be stored in any one of a variety of data file formats in connection with a file system used in the host computer system or in the Data Storage System 3212. In certain aspects, the system 3319 may use any one of a variety of database packages in connection with the storage and retrieval of data. The User Data files 3328 may also be used in connection with other simulation and modeling packages. For example, the User Data files 3328 may be stored in a format that may also be used directly or indirectly as an input to any one of a variety of other modeling packages. In certain aspects, data may be imported and/or exported between the multiphysics modeling system and another system. The format of the data may be varied or customized in accordance with each of the system(s) as well as in accordance with additional functionalities that each of the system(s) may include.

It is contemplated that the systems and methods described herein may be used for combining physics interfaces that model different physical phenomena or processes. The combination of a plurality of physics interfaces can be referred to as a multiphysics model. Properties of the physics interfaces can be represented by PDEs that may be automatically combined to form PDEs describing physical quantities in a coupled system or representation. The coupled PDEs may be displayed, for example, in an “Equation view” that allows for the coupled PDEs to be modified and used as input into a solver. It is also contemplated that the PDEs may be provided to the solver either independently as one PDE or a system of PDEs, describing a single phenomenon or process, or as one or several systems of PDEs describing several phenomena or processes.

In certain aspects of the present disclosure, a multiphysics modeling system can provide an ability to combine physics interfaces that model physical properties through one or more GUIs that allow a user to select one or more physics interfaces from a list. In addition to displaying physics interfaces names, it is further contemplated that variable names for physical quantities may be selected through a GUI. It is contemplated that the physics interfaces may have different formulations that depend on a “Study” settings feature, which is described in more detail elsewhere herein.

It is further contemplated that it may be desirable for a multiphysics modeling system to provide the ability to access predefined combinations of several physics phenomena for defining multiphysics model(s). The predefined combinations may be referred to as multiphysics interfaces, which similar to the physics interfaces, may also have different formulations that depend on a study settings feature.

It is contemplated that in certain aspects of the present disclosure physical properties can be used to model physical quantities for component(s) and/or process(es) being examined using the modeling system, and the physical properties can be defined using a GUI that allow the physical properties to be described as numerical values. In certain aspects, physical properties can also be defined as mathematical expressions that include one or more numerical values, space coordinates, time coordinates, and/or the actual physical quantities. In certain aspects, the physical properties may apply to some parts of a geometrical domain, and the physical quantity itself may be undefined in the other parts of the geometrical domain. A geometrical domain or “domain” may be partitioned into disjoint subdomains. The mathematical union of these subdomains forms the geometrical domain or “domain”. The complete boundary of a domain may also be divided into sections referred to as “boundaries”. Adjacent subdomains may have common boundaries referred to as “borders”. The complete boundary is the mathematical union of all the boundaries including, for example, subdomain borders. For example, in certain aspects, a geometrical domain may be one-dimensional, two-dimensional, or three-dimensional in a GUI. However, as described in more detail elsewhere herein, the solvers may be able to handle any space dimension. It is contemplated that through the use of GUIs in one implementation, physical properties on a boundary of a domain may be specified and used to derive the boundary conditions of the PDEs.

Additional features of a modeling system, such as feature that may be found in the Modeling and Simulation module 3322, may provide for automatically deriving a system of PDE's and boundary conditions for a multiphysics model. This technique can include merging the PDEs of the plurality of phenomena or processes, and may produce a single system of coupled PDEs, also using coupling variables or operators to couple processes in different coordinate systems, and may perform symbolic differentiation of the system of PDEs with respect to all the dependent variables for later use by the solver.

It is contemplated that in certain aspects, a coupled system of PDEs may be modified before being differentiated and sent to the solver. The modification may be performed using a settings window included in a GUI displaying the combined PDEs in an “Equation view”. When the system of PDEs is modified in this way, the settings for the corresponding physical properties can become “locked”. The properties may subsequently be unlocked by a user taking certain action(s).

It is contemplated that certain aspects of the present disclosure may include features for modeling one or more of a plurality of engineering and scientific disciplines, including, for example, acoustics, chemical reactions, diffusion, electromagnetism, fluid dynamics, geophysics, heat transfer, porous media flow, quantum mechanics, semiconductor devices, structural mechanics, wave propagation, and the like. Certain aspects of a modeling system may involve more than one of the foregoing disciplines and can also include representing or modeling a combination of the foregoing disciplines. Furthermore, the techniques that are described herein may be used in connection with one or more systems of PDEs.

It is contemplated that in certain aspects of the present disclosure, system(s) of PDEs may be represented in general, coefficient, and/or weak form. The coefficient form may be more suitable in connection with linear or almost linear problems, while the general and weak forms may be better suited for use in connection with non-linear problems. The system(s) being modeled may have one or more associated studies, for example, such as stationary, time dependent, eigenvalue, or eigenfrequency. In the aspects described herein, a finite element method (FEM) may be used to solve for the PDEs together with, for example, adaptive meshing, adaptive time stepping, and/or a choice of a one or more different numerical solvers.

It is contemplated that in certain aspects of the present disclosure, a finite element mesh may include simplices forming a representation of a geometrical domain. Each simplex can belong to a unique subdomain, and a union of the simplices can form an approximation of the geometrical domain. The boundary of the domain may also be represented by simplices of the dimensions 0, 1, and 2, for geometrical dimensions 1, 2, and 3, respectively.

It is further contemplated that a mesh representing a geometry may also be created by an outside or external application and may subsequently be imported for use into the modeling system(s) described in the present disclosure.

The initial value of the solution process may be given as numerical values, or expressions that may include numerical values, space coordinates, time coordinates and the actual physical quantities. The initial value(s) may also include physical quantities previously determined.

The solution of the PDEs may be determined for any portion of the physical properties and their related quantities. Further, any portion not solved for may be treated as initial values to the system of PDEs.

It is contemplated that it may be desirable for a user to select a space dimension, combinations of physics, and a type of study in a multiphysics modeling system using a model wizard. The model wizard may take the user through these selection steps and it may also allow for the combination of several space dimensions, several physics, and several studies or study steps in a multiphysics model.

Each of these aspects and obvious variations thereof is contemplated as falling within the spirit and scope of the claimed invention, which is set forth in the following claims. Moreover, the present concepts expressly include any and all combinations and subcombinations of the preceding elements and aspects. 

What is claimed is:
 1. A simulation method executed in a computer system with one or more processors configured to modify a geometry of a model of a physical system including physical quantities represented in terms of a combined set of equations, the simulation method comprising the acts of: defining geometry data representing a geometry of a physical system represented by a first combined set of equations, said geometry data associated with a first model of said physical system; defining, via one or more processors, extra geometry data representing one or more extra geometries for a modified model based on said first model; determining, via at least one of said one or more processors, a first set of geometric entity data representing one or more geometric entities of said geometry of said physical system from which to extend said one or more extra geometries; adding, via at least one of said one or more processors, at least a portion of said extra geometry data representing at least one of said one or more extra geometries to said determined first set of geometric entity data representing one or more geometric entities by forming product geometry data representing a product geometry for said modified model, said extra geometry data representing said one or more extra geometries being at least a part of said product geometry data; generating, via at least one of said one or more processors, non-discretized equation data representing a non-discretized second combined set of equations for at least a portion of said product geometry data; and optionally generating a graphical representation of at least a portion of said product geometry data, said graphical representation configured for display on a graphical user interface.
 2. The method of claim 1, wherein said graphical representation includes said at least a portion of said product geometry data.
 3. The method of claim 1, wherein an extra dimension includes said one or more extra geometries.
 4. The method of claim 1, further comprising the act of: determining, via at least one of said one or more processors, a second set of geometric entity data representing one or more geometric entities of said one or more extra geometries; and determining product selection data representing a product of selections computed as a Cartesian product between at least a portion of said first set of geometric entity data representing one or more geometric entities of said geometry and at least a portion of said second set of geometric entity data representing one or more geometric entities of said one or more extra geometries.
 5. The method of claim 1, wherein said non-discretized equation data representing said non-discretized second combined set of equations are user editable to allow editing of said second combined set of equations.
 6. The method of claim 1, wherein said non-discretized second combined set of equations are a combined set of non-discretized partial differential equations configured as input data for a partial differential equation solver.
 7. The method of claim 1, wherein at least one of said one or more geometric entities is a vertex.
 8. The method of claim 1, wherein at least one of said one or more geometric entities is an edge.
 9. The method of claim 1, wherein at least one of said one or more geometric entities is a boundary.
 10. The method of claim 1, wherein at least one of said one or more geometric entities is a domain.
 11. The method of claim 1, further comprising the act of defining material property data representing a material property for at least one of said one or more extra geometries.
 12. The method of claim 1, further comprising the act of: after forming said product geometry data representing said product geometry for said modified model, defining material property data representing a material property for at least a portion of said product geometry data.
 13. The method of claim 1, wherein said geometry of said physical system is one-dimensional and said one or more extra geometries are two-dimensional.
 14. The method of claim 1, wherein said geometry of said physical system is three-dimensional and said one or more extra geometries are one-dimensional.
 15. The method of claim 1, wherein said geometry of said physical system and said one or more extra geometries are three-dimensional.
 16. The method of claim 1, wherein said determining of said first set of geometric entity data representing one or more geometric entities on said geometry of a physical system is based on user selections received via a graphical user interface.
 17. The method of claim 4, wherein said determining of said second set of geometric entity data representing one or more geometric entities of said one or more extra geometries is based on user selections received via a graphical user interface.
 18. The method of claim 1, wherein said defining said geometry data representing said geometry of said physical system includes extracting said geometry data from data representing said first model of said physical system.
 19. The method of claim 1, wherein said defining extra geometry data representing one or more extra geometries occurs at least in part via selections of extra geometry properties received via a graphical user interface.
 20. The method of claim 4, wherein said defining extra geometry data representing one or more extra geometries occurs at least in part via selections of extra geometry properties received via a graphical user interface.
 21. A simulation system for adding extra geometries to a base geometry of a model of a physical system represented in terms of a combined set of differential equations, the system comprising: one or more physical memory devices; one or more display devices; one or more user input devices; and one or more processors configured to execute instructions stored on at least one of the one or more physical memory devices, the instructions causing at least one of the one or more processors to performs steps comprising defining base geometry data representing a base geometry of a physical system, said base geometry data associated with a first model of said physical system, said physical system represented by a combined set of differential equations, defining extra geometry data representing one or more extra geometries for a modified model based on said first model, determining a first set of geometric entity data representing one or more entities of said base geometry from which to extend said one or more extra geometries, adding at least a portion of said extra geometry data representing at least one of said one or more extra geometries to said determined first set of geometric entity data representing one or more entities of said base geometry by generating product data representing a product geometry for said modified model, said extra geometry data being at least a part of said product data, generating equation data representing an updated combined set of differential equations for said modified model that includes said at least a portion of said product data, and storing said equation data and said product data in at least one of said one or more physical memory devices.
 22. The system of claim 21, wherein at least a portion of said product data is stored as graphical representations configured for later display on said one or more display devices.
 23. The system of claim 21, wherein the instructions cause at least one of the one or more processors to further perform a step comprising generating a graphical representation of at least a portion of said product data, said graphical representation configured for display on at least one of said one or more display devices.
 24. A simulation apparatus for adding extra geometries to a model of a physical system, the apparatus comprising: a physical computing system comprising one or more processors, one or more user input devices, a display device, and one or more memory devices, at least one of the one or more memory devices including executable instructions for modifying a geometry of a model of a physical system represented in terms of a combined set of equations, the executable instructions causing at least one of the one or more processors to perform, upon execution, acts comprising in response to one or more first inputs received via said one or more user input devices, receiving a base geometry of said physical system, said base geometry associated with a model of said physical system represented in terms of a combined set of equations, receiving one or more second inputs via at least one of said one or more user input devices, said second inputs defining one or more extra geometries associated with said base geometry, determining one or more first geometric entities of said base geometry and one or more second geometric entities of said extra geometry, adding at least one of said one or more extra geometries to said base geometry by computing a product geometry of said determined one or more first geometric entities and said one or more second geometric entities, said one or more extra geometries being at least a part of said product geometry, generating an updated combined set of equations including representations of at least a portion of said product geometry, and generating a graphical representation of at least a portion of said product geometry, said graphical representation configured for display on said display device.
 25. The apparatus of claim 24, wherein said updated combined set of equations is a combined set of non-discretized differential equations. 